Machine Learning Lab 2¶

Assignment 2 (Deadline : 29/01/2023 11:59PM)¶

Total Points : 25

Your answers must be entered in LMS by midnight of the day it is due.

If the question requires a textual response, you can create a PDF and upload that.

The PDF might be generated from MS-WORD, LATEX, the image of a hand- written response, or using any other mechanism.

Code must be uploaded and may require demonstration to the TA.

Numbers in the parentheses indicate points allocated to the question.

Naming Convention: FirstName_LastName_Lab2_TLP23.ipynb

Q1.¶

Semantic image segmentation is a task in computer vision where the goal is to assign a class label to each pixel in an image. The goal of semantic segmentation is to classify each pixel in an image to its corresponding class. It's different from instance segmentation, where the goal is to detect and segment individual objects within an image.

For example, in an image containing a person, a car, and a building, semantic segmentation would classify each pixel as belonging to one of these classes: person, car, building, background, etc. This task is challenging because it requires the model to not only identify the object in the image but also understand its shape and boundaries.

Semantic image segmentation is a fundamental task in computer vision and is used in a wide range of applications such as object detection, scene understanding, self-driving cars, and medical imaging.

The goal of this assignment is to train a deep learning model to perform semantic image segmentation on the COCO dataset. The COCO dataset consists of 80 object categories and a total of 330,000 images. The task is to predict a class label for every pixel in an image.

  • Start by downloading the COCO dataset from the official website and split it into train, validation, and test sets. (2 points)

  • Preprocess the data by converting the images to grayscale and normalizing the pixel values. (5 points)

  • Build a deep learning model using a convolutional neural network (CNN) architecture. You can use a pre-trained model such as ResNet or VGG as a starting point. (8 points)

  • Use an encoder-decoder architecture with skip connections to improve the segmentation performance. (2 points)

  • Use a combination of different loss functions to optimize the model. (2 points)

  • Bonus : Use techniques such as data augmentation and transfer learning to improve the performance of the model. (0 points)

  • Bonus : Use techniques such as non-maximum suppression to post-process the output of the model and improve the final segmentation results. (0 points)

  • Evaluate the performance of the model on the validation and test sets using metrics such as Intersection over Union (IoU) and mean pixel accuracy. Plot graphs wherever necessary (3 points)

  • Write a report describing the model architecture, training process, evaluation results, and discussion of the results. (3 points)

The aim of the assignment is to get you familiarised with CNNs and the practices followd in industry. While SOTA could be the eventual dream, doing so now might come at the expense of exhausting your premium GPU. Also, succesfully attempting the bonus sections will help with a grade boost if you falter in any other sections. The code should have proper headers and comments for all sections with points.

The classes you would have to include for training are : 'person', 'chair', 'car', 'dining table', 'cup', 'bottle', 'bowl', 'handbag', 'truck', 'bench', 'backpack', 'book', 'cell phone', 'sink', 'clock', 'tv', 'potted plant', 'couch', 'dog', 'knife', 'sports ball', 'traffic light', 'cat', 'umbrella', 'bus'

For the output, you could do one of the two methods on 10 random images. This should be done in the report section. The image id should be generated randomly on the length of the test data.

Display the image and provide bounding boxes. The annotations should be all the classes present in the image and the background. Compare against actual annotations and include in report. The output would have annotations for each pixel. You should display the image and unique list of annotations. Compare against actual annotations and include in report.

Solution:¶

Data Generation¶

Steps involved:

  • Downloading the zip files and unzipping them
  • Assigning labels to our classes
  • Resizing images and masks
  • Storing batches of 32 images and masks as npy files to speed up the training time per epoch (this reduced training time per epoch to 15 minutes from one hour)
  • Creating our final generator function which can be fed into the tensorflow model

Start by downloading the COCO dataset from the official website and split it into train, validation, and test sets. (2 points)¶

In [ ]:
#Annotations
!wget http://images.cocodataset.org/annotations/annotations_trainval2017.zip

#Images
!wget http://images.cocodataset.org/zips/train2017.zip #Train
!wget http://images.cocodataset.org/zips/val2017.zip #Val
!wget http://images.cocodataset.org/zips/test2017.zip #Test
--2023-02-07 04:51:58--  http://images.cocodataset.org/annotations/annotations_trainval2017.zip
Resolving images.cocodataset.org (images.cocodataset.org)... 52.217.172.217, 52.217.139.185, 52.217.172.169, ...
Connecting to images.cocodataset.org (images.cocodataset.org)|52.217.172.217|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 252907541 (241M) [application/zip]
Saving to: ‘annotations_trainval2017.zip’

annotations_trainva 100%[===================>] 241.19M  36.5MB/s    in 6.7s    

2023-02-07 04:52:05 (35.9 MB/s) - ‘annotations_trainval2017.zip’ saved [252907541/252907541]

--2023-02-07 04:52:05--  http://images.cocodataset.org/zips/train2017.zip
Resolving images.cocodataset.org (images.cocodataset.org)... 52.216.137.164, 3.5.19.198, 52.216.35.145, ...
Connecting to images.cocodataset.org (images.cocodataset.org)|52.216.137.164|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19336861798 (18G) [application/zip]
Saving to: ‘train2017.zip’

train2017.zip       100%[===================>]  18.01G  39.3MB/s    in 7m 30s  

2023-02-07 04:59:36 (41.0 MB/s) - ‘train2017.zip’ saved [19336861798/19336861798]

--2023-02-07 04:59:36--  http://images.cocodataset.org/zips/val2017.zip
Resolving images.cocodataset.org (images.cocodataset.org)... 3.5.2.216, 3.5.9.216, 3.5.21.184, ...
Connecting to images.cocodataset.org (images.cocodataset.org)|3.5.2.216|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 815585330 (778M) [application/zip]
Saving to: ‘val2017.zip’

val2017.zip         100%[===================>] 777.80M  44.6MB/s    in 18s     

2023-02-07 04:59:55 (42.5 MB/s) - ‘val2017.zip’ saved [815585330/815585330]

--2023-02-07 04:59:55--  http://images.cocodataset.org/zips/test2017.zip
Resolving images.cocodataset.org (images.cocodataset.org)... 54.231.193.113, 3.5.2.206, 52.216.139.171, ...
Connecting to images.cocodataset.org (images.cocodataset.org)|54.231.193.113|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6646970404 (6.2G) [application/zip]
Saving to: ‘test2017.zip’

test2017.zip        100%[===================>]   6.19G  43.0MB/s    in 2m 32s  

2023-02-07 05:02:27 (41.6 MB/s) - ‘test2017.zip’ saved [6646970404/6646970404]

In [ ]:
#Unzipping Files
!unzip /content/annotations_trainval2017.zip
!unzip /content/test2017.zip
!unzip /content/train2017.zip
!unzip /content/val2017.zip
Streaming output truncated to the last 5000 lines.
 extracting: val2017/000000212226.jpg  
 extracting: val2017/000000231527.jpg  
 extracting: val2017/000000578922.jpg  
 extracting: val2017/000000062808.jpg  
 extracting: val2017/000000119038.jpg  
 extracting: val2017/000000114871.jpg  
 extracting: val2017/000000463918.jpg  
 extracting: val2017/000000365745.jpg  
 extracting: val2017/000000320425.jpg  
 extracting: val2017/000000481404.jpg  
 extracting: val2017/000000314294.jpg  
 extracting: val2017/000000335328.jpg  
 extracting: val2017/000000513688.jpg  
 extracting: val2017/000000158548.jpg  
 extracting: val2017/000000132116.jpg  
 extracting: val2017/000000415238.jpg  
 extracting: val2017/000000321333.jpg  
 extracting: val2017/000000081738.jpg  
 extracting: val2017/000000577584.jpg  
 extracting: val2017/000000346905.jpg  
 extracting: val2017/000000433980.jpg  
 extracting: val2017/000000228144.jpg  
 extracting: val2017/000000041872.jpg  
 extracting: val2017/000000117492.jpg  
 extracting: val2017/000000368900.jpg  
 extracting: val2017/000000376900.jpg  
 extracting: val2017/000000352491.jpg  
 extracting: val2017/000000330790.jpg  
 extracting: val2017/000000384850.jpg  
 extracting: val2017/000000032735.jpg  
 extracting: val2017/000000197004.jpg  
 extracting: val2017/000000526751.jpg  
 extracting: val2017/000000041488.jpg  
 extracting: val2017/000000153632.jpg  
 extracting: val2017/000000501523.jpg  
 extracting: val2017/000000405691.jpg  
 extracting: val2017/000000040757.jpg  
 extracting: val2017/000000219485.jpg  
 extracting: val2017/000000428280.jpg  
 extracting: val2017/000000209222.jpg  
 extracting: val2017/000000353051.jpg  
 extracting: val2017/000000191471.jpg  
 extracting: val2017/000000539962.jpg  
 extracting: val2017/000000462371.jpg  
 extracting: val2017/000000574315.jpg  
 extracting: val2017/000000005037.jpg  
 extracting: val2017/000000083540.jpg  
 extracting: val2017/000000145665.jpg  
 extracting: val2017/000000174231.jpg  
 extracting: val2017/000000389812.jpg  
 extracting: val2017/000000245513.jpg  
 extracting: val2017/000000122046.jpg  
 extracting: val2017/000000143931.jpg  
 extracting: val2017/000000555005.jpg  
 extracting: val2017/000000142472.jpg  
 extracting: val2017/000000246883.jpg  
 extracting: val2017/000000459272.jpg  
 extracting: val2017/000000356261.jpg  
 extracting: val2017/000000169996.jpg  
 extracting: val2017/000000311909.jpg  
 extracting: val2017/000000253433.jpg  
 extracting: val2017/000000396568.jpg  
 extracting: val2017/000000089045.jpg  
 extracting: val2017/000000387383.jpg  
 extracting: val2017/000000095155.jpg  
 extracting: val2017/000000036494.jpg  
 extracting: val2017/000000495054.jpg  
 extracting: val2017/000000297595.jpg  
 extracting: val2017/000000030213.jpg  
 extracting: val2017/000000357903.jpg  
 extracting: val2017/000000231237.jpg  
 extracting: val2017/000000182805.jpg  
 extracting: val2017/000000147740.jpg  
 extracting: val2017/000000424721.jpg  
 extracting: val2017/000000165257.jpg  
 extracting: val2017/000000080340.jpg  
 extracting: val2017/000000295420.jpg  
 extracting: val2017/000000289659.jpg  
 extracting: val2017/000000529528.jpg  
 extracting: val2017/000000360951.jpg  
 extracting: val2017/000000000885.jpg  
 extracting: val2017/000000552842.jpg  
 extracting: val2017/000000466156.jpg  
 extracting: val2017/000000309452.jpg  
 extracting: val2017/000000015254.jpg  
 extracting: val2017/000000442323.jpg  
 extracting: val2017/000000561335.jpg  
 extracting: val2017/000000324927.jpg  
 extracting: val2017/000000198489.jpg  
 extracting: val2017/000000163290.jpg  
 extracting: val2017/000000001425.jpg  
 extracting: val2017/000000280891.jpg  
 extracting: val2017/000000003661.jpg  
 extracting: val2017/000000383838.jpg  
 extracting: val2017/000000409268.jpg  
 extracting: val2017/000000112798.jpg  
 extracting: val2017/000000288584.jpg  
 extracting: val2017/000000231879.jpg  
 extracting: val2017/000000496571.jpg  
 extracting: val2017/000000143998.jpg  
 extracting: val2017/000000404191.jpg  
 extracting: val2017/000000066817.jpg  
 extracting: val2017/000000381360.jpg  
 extracting: val2017/000000376307.jpg  
 extracting: val2017/000000424545.jpg  
 extracting: val2017/000000085576.jpg  
 extracting: val2017/000000400044.jpg  
 extracting: val2017/000000066886.jpg  
 extracting: val2017/000000509656.jpg  
 extracting: val2017/000000308753.jpg  
 extracting: val2017/000000315492.jpg  
 extracting: val2017/000000359855.jpg  
 extracting: val2017/000000161820.jpg  
 extracting: val2017/000000090208.jpg  
 extracting: val2017/000000233567.jpg  
 extracting: val2017/000000182441.jpg  
 extracting: val2017/000000146825.jpg  
 extracting: val2017/000000459757.jpg  
 extracting: val2017/000000229311.jpg  
 extracting: val2017/000000164115.jpg  
 extracting: val2017/000000323799.jpg  
 extracting: val2017/000000534041.jpg  
 extracting: val2017/000000341094.jpg  
 extracting: val2017/000000485480.jpg  
 extracting: val2017/000000322829.jpg  
 extracting: val2017/000000142585.jpg  
 extracting: val2017/000000388215.jpg  
 extracting: val2017/000000279887.jpg  
 extracting: val2017/000000027972.jpg  
 extracting: val2017/000000029393.jpg  
 extracting: val2017/000000428562.jpg  
 extracting: val2017/000000338624.jpg  
 extracting: val2017/000000485027.jpg  
 extracting: val2017/000000550714.jpg  
 extracting: val2017/000000018833.jpg  
 extracting: val2017/000000121506.jpg  
 extracting: val2017/000000259690.jpg  
 extracting: val2017/000000509258.jpg  
 extracting: val2017/000000046048.jpg  
 extracting: val2017/000000113354.jpg  
 extracting: val2017/000000315187.jpg  
 extracting: val2017/000000262487.jpg  
 extracting: val2017/000000067180.jpg  
 extracting: val2017/000000145591.jpg  
 extracting: val2017/000000261097.jpg  
 extracting: val2017/000000063552.jpg  
 extracting: val2017/000000510329.jpg  
 extracting: val2017/000000261061.jpg  
 extracting: val2017/000000137950.jpg  
 extracting: val2017/000000379533.jpg  
 extracting: val2017/000000524280.jpg  
 extracting: val2017/000000306700.jpg  
 extracting: val2017/000000345252.jpg  
 extracting: val2017/000000010583.jpg  
 extracting: val2017/000000008277.jpg  
 extracting: val2017/000000560371.jpg  
 extracting: val2017/000000406611.jpg  
 extracting: val2017/000000336053.jpg  
 extracting: val2017/000000320664.jpg  
 extracting: val2017/000000002587.jpg  
 extracting: val2017/000000176446.jpg  
 extracting: val2017/000000242678.jpg  
 extracting: val2017/000000433192.jpg  
 extracting: val2017/000000101780.jpg  
 extracting: val2017/000000506178.jpg  
 extracting: val2017/000000319607.jpg  
 extracting: val2017/000000430048.jpg  
 extracting: val2017/000000184978.jpg  
 extracting: val2017/000000280325.jpg  
 extracting: val2017/000000166768.jpg  
 extracting: val2017/000000411817.jpg  
 extracting: val2017/000000486046.jpg  
 extracting: val2017/000000287545.jpg  
 extracting: val2017/000000427338.jpg  
 extracting: val2017/000000274066.jpg  
 extracting: val2017/000000361147.jpg  
 extracting: val2017/000000557501.jpg  
 extracting: val2017/000000161642.jpg  
 extracting: val2017/000000451043.jpg  
 extracting: val2017/000000082085.jpg  
 extracting: val2017/000000129945.jpg  
 extracting: val2017/000000086956.jpg  
 extracting: val2017/000000058655.jpg  
 extracting: val2017/000000427500.jpg  
 extracting: val2017/000000339870.jpg  
 extracting: val2017/000000066706.jpg  
 extracting: val2017/000000311190.jpg  
 extracting: val2017/000000210855.jpg  
 extracting: val2017/000000190007.jpg  
 extracting: val2017/000000182021.jpg  
 extracting: val2017/000000384136.jpg  
 extracting: val2017/000000453634.jpg  
 extracting: val2017/000000160666.jpg  
 extracting: val2017/000000318080.jpg  
 extracting: val2017/000000097337.jpg  
 extracting: val2017/000000441586.jpg  
 extracting: val2017/000000079034.jpg  
 extracting: val2017/000000508730.jpg  
 extracting: val2017/000000270705.jpg  
 extracting: val2017/000000272049.jpg  
 extracting: val2017/000000131273.jpg  
 extracting: val2017/000000360661.jpg  
 extracting: val2017/000000187585.jpg  
 extracting: val2017/000000551660.jpg  
 extracting: val2017/000000462576.jpg  
 extracting: val2017/000000359937.jpg  
 extracting: val2017/000000245915.jpg  
 extracting: val2017/000000185890.jpg  
 extracting: val2017/000000226154.jpg  
 extracting: val2017/000000148508.jpg  
 extracting: val2017/000000293300.jpg  
 extracting: val2017/000000075393.jpg  
 extracting: val2017/000000089296.jpg  
 extracting: val2017/000000506707.jpg  
 extracting: val2017/000000344614.jpg  
 extracting: val2017/000000341973.jpg  
 extracting: val2017/000000012639.jpg  
 extracting: val2017/000000493442.jpg  
 extracting: val2017/000000471756.jpg  
 extracting: val2017/000000307172.jpg  
 extracting: val2017/000000551215.jpg  
 extracting: val2017/000000420230.jpg  
 extracting: val2017/000000357737.jpg  
 extracting: val2017/000000261732.jpg  
 extracting: val2017/000000214205.jpg  
 extracting: val2017/000000302107.jpg  
 extracting: val2017/000000128476.jpg  
 extracting: val2017/000000290293.jpg  
 extracting: val2017/000000420069.jpg  
 extracting: val2017/000000239274.jpg  
 extracting: val2017/000000317024.jpg  
 extracting: val2017/000000222235.jpg  
 extracting: val2017/000000236845.jpg  
 extracting: val2017/000000120420.jpg  
 extracting: val2017/000000312406.jpg  
 extracting: val2017/000000088345.jpg  
 extracting: val2017/000000088218.jpg  
 extracting: val2017/000000100489.jpg  
 extracting: val2017/000000562059.jpg  
 extracting: val2017/000000524456.jpg  
 extracting: val2017/000000265816.jpg  
 extracting: val2017/000000423944.jpg  
 extracting: val2017/000000454798.jpg  
 extracting: val2017/000000399560.jpg  
 extracting: val2017/000000401991.jpg  
 extracting: val2017/000000380913.jpg  
 extracting: val2017/000000312278.jpg  
 extracting: val2017/000000066561.jpg  
 extracting: val2017/000000519208.jpg  
 extracting: val2017/000000407646.jpg  
 extracting: val2017/000000141821.jpg  
 extracting: val2017/000000493905.jpg  
 extracting: val2017/000000481567.jpg  
 extracting: val2017/000000378673.jpg  
 extracting: val2017/000000060363.jpg  
 extracting: val2017/000000553664.jpg  
 extracting: val2017/000000240767.jpg  
 extracting: val2017/000000167159.jpg  
 extracting: val2017/000000150417.jpg  
 extracting: val2017/000000064462.jpg  
 extracting: val2017/000000091619.jpg  
 extracting: val2017/000000550471.jpg  
 extracting: val2017/000000147223.jpg  
 extracting: val2017/000000574823.jpg  
 extracting: val2017/000000433774.jpg  
 extracting: val2017/000000561465.jpg  
 extracting: val2017/000000296969.jpg  
 extracting: val2017/000000348045.jpg  
 extracting: val2017/000000455219.jpg  
 extracting: val2017/000000486438.jpg  
 extracting: val2017/000000414638.jpg  
 extracting: val2017/000000383339.jpg  
 extracting: val2017/000000222455.jpg  
 extracting: val2017/000000158744.jpg  
 extracting: val2017/000000003255.jpg  
 extracting: val2017/000000030504.jpg  
 extracting: val2017/000000209757.jpg  
 extracting: val2017/000000089271.jpg  
 extracting: val2017/000000466835.jpg  
 extracting: val2017/000000163117.jpg  
 extracting: val2017/000000469246.jpg  
 extracting: val2017/000000006763.jpg  
 extracting: val2017/000000035963.jpg  
 extracting: val2017/000000466085.jpg  
 extracting: val2017/000000051712.jpg  
 extracting: val2017/000000383384.jpg  
 extracting: val2017/000000561889.jpg  
 extracting: val2017/000000277005.jpg  
 extracting: val2017/000000060932.jpg  
 extracting: val2017/000000153011.jpg  
 extracting: val2017/000000266892.jpg  
 extracting: val2017/000000045070.jpg  
 extracting: val2017/000000519039.jpg  
 extracting: val2017/000000529966.jpg  
 extracting: val2017/000000548780.jpg  
 extracting: val2017/000000144784.jpg  
 extracting: val2017/000000258541.jpg  
 extracting: val2017/000000187271.jpg  
 extracting: val2017/000000044699.jpg  
 extracting: val2017/000000210099.jpg  
 extracting: val2017/000000575081.jpg  
 extracting: val2017/000000405279.jpg  
 extracting: val2017/000000368982.jpg  
 extracting: val2017/000000150224.jpg  
 extracting: val2017/000000434247.jpg  
 extracting: val2017/000000109916.jpg  
 extracting: val2017/000000319369.jpg  
 extracting: val2017/000000176701.jpg  
 extracting: val2017/000000336209.jpg  
 extracting: val2017/000000225946.jpg  
 extracting: val2017/000000138115.jpg  
 extracting: val2017/000000334977.jpg  
 extracting: val2017/000000403584.jpg  
 extracting: val2017/000000338905.jpg  
 extracting: val2017/000000389109.jpg  
 extracting: val2017/000000572388.jpg  
 extracting: val2017/000000544605.jpg  
 extracting: val2017/000000066135.jpg  
 extracting: val2017/000000535578.jpg  
 extracting: val2017/000000490515.jpg  
 extracting: val2017/000000010764.jpg  
 extracting: val2017/000000349594.jpg  
 extracting: val2017/000000356498.jpg  
 extracting: val2017/000000367680.jpg  
 extracting: val2017/000000046872.jpg  
 extracting: val2017/000000152465.jpg  
 extracting: val2017/000000079144.jpg  
 extracting: val2017/000000243204.jpg  
 extracting: val2017/000000351530.jpg  
 extracting: val2017/000000389451.jpg  
 extracting: val2017/000000179765.jpg  
 extracting: val2017/000000449312.jpg  
 extracting: val2017/000000458702.jpg  
 extracting: val2017/000000269632.jpg  
 extracting: val2017/000000425361.jpg  
 extracting: val2017/000000386457.jpg  
 extracting: val2017/000000347265.jpg  
 extracting: val2017/000000498463.jpg  
 extracting: val2017/000000022623.jpg  
 extracting: val2017/000000362434.jpg  
 extracting: val2017/000000009378.jpg  
 extracting: val2017/000000521509.jpg  
 extracting: val2017/000000423519.jpg  
 extracting: val2017/000000322610.jpg  
 extracting: val2017/000000438304.jpg  
 extracting: val2017/000000180383.jpg  
 extracting: val2017/000000511999.jpg  
 extracting: val2017/000000330396.jpg  
 extracting: val2017/000000157098.jpg  
 extracting: val2017/000000312237.jpg  
 extracting: val2017/000000232348.jpg  
 extracting: val2017/000000060899.jpg  
 extracting: val2017/000000127955.jpg  
 extracting: val2017/000000117425.jpg  
 extracting: val2017/000000218249.jpg  
 extracting: val2017/000000176037.jpg  
 extracting: val2017/000000467176.jpg  
 extracting: val2017/000000377239.jpg  
 extracting: val2017/000000566923.jpg  
 extracting: val2017/000000093261.jpg  
 extracting: val2017/000000322959.jpg  
 extracting: val2017/000000160728.jpg  
 extracting: val2017/000000346968.jpg  
 extracting: val2017/000000332570.jpg  
 extracting: val2017/000000212166.jpg  
 extracting: val2017/000000343315.jpg  
 extracting: val2017/000000019924.jpg  
 extracting: val2017/000000532901.jpg  
 extracting: val2017/000000074733.jpg  
 extracting: val2017/000000189698.jpg  
 extracting: val2017/000000520871.jpg  
 extracting: val2017/000000300842.jpg  
 extracting: val2017/000000453722.jpg  
 extracting: val2017/000000518326.jpg  
 extracting: val2017/000000450559.jpg  
 extracting: val2017/000000032038.jpg  
 extracting: val2017/000000376093.jpg  
 extracting: val2017/000000163640.jpg  
 extracting: val2017/000000449909.jpg  
 extracting: val2017/000000036844.jpg  
 extracting: val2017/000000195045.jpg  
 extracting: val2017/000000184400.jpg  
 extracting: val2017/000000369757.jpg  
 extracting: val2017/000000442822.jpg  
 extracting: val2017/000000112626.jpg  
 extracting: val2017/000000165336.jpg  
 extracting: val2017/000000320632.jpg  
 extracting: val2017/000000370818.jpg  
 extracting: val2017/000000009400.jpg  
 extracting: val2017/000000032285.jpg  
 extracting: val2017/000000544052.jpg  
 extracting: val2017/000000509131.jpg  
 extracting: val2017/000000402096.jpg  
 extracting: val2017/000000091406.jpg  
 extracting: val2017/000000283785.jpg  
 extracting: val2017/000000271471.jpg  
 extracting: val2017/000000192964.jpg  
 extracting: val2017/000000455085.jpg  
 extracting: val2017/000000522007.jpg  
 extracting: val2017/000000319100.jpg  
 extracting: val2017/000000340175.jpg  
 extracting: val2017/000000101884.jpg  
 extracting: val2017/000000177893.jpg  
 extracting: val2017/000000260925.jpg  
 extracting: val2017/000000015272.jpg  
 extracting: val2017/000000515350.jpg  
 extracting: val2017/000000470924.jpg  
 extracting: val2017/000000031118.jpg  
 extracting: val2017/000000544519.jpg  
 extracting: val2017/000000303908.jpg  
 extracting: val2017/000000513580.jpg  
 extracting: val2017/000000340697.jpg  
 extracting: val2017/000000213255.jpg  
 extracting: val2017/000000464786.jpg  
 extracting: val2017/000000021879.jpg  
 extracting: val2017/000000104119.jpg  
 extracting: val2017/000000542776.jpg  
 extracting: val2017/000000505565.jpg  
 extracting: val2017/000000372349.jpg  
 extracting: val2017/000000060835.jpg  
 extracting: val2017/000000474164.jpg  
 extracting: val2017/000000110784.jpg  
 extracting: val2017/000000438955.jpg  
 extracting: val2017/000000327769.jpg  
 extracting: val2017/000000119088.jpg  
 extracting: val2017/000000437110.jpg  
 extracting: val2017/000000256916.jpg  
 extracting: val2017/000000431848.jpg  
 extracting: val2017/000000061658.jpg  
 extracting: val2017/000000434459.jpg  
 extracting: val2017/000000379476.jpg  
 extracting: val2017/000000093437.jpg  
 extracting: val2017/000000576955.jpg  
 extracting: val2017/000000577735.jpg  
 extracting: val2017/000000544565.jpg  
 extracting: val2017/000000194471.jpg  
 extracting: val2017/000000286422.jpg  
 extracting: val2017/000000532530.jpg  
 extracting: val2017/000000205647.jpg  
 extracting: val2017/000000308587.jpg  
 extracting: val2017/000000026926.jpg  
 extracting: val2017/000000065455.jpg  
 extracting: val2017/000000140420.jpg  
 extracting: val2017/000000449579.jpg  
 extracting: val2017/000000308430.jpg  
 extracting: val2017/000000220310.jpg  
 extracting: val2017/000000206831.jpg  
 extracting: val2017/000000074646.jpg  
 extracting: val2017/000000440475.jpg  
 extracting: val2017/000000420472.jpg  
 extracting: val2017/000000553731.jpg  
 extracting: val2017/000000561958.jpg  
 extracting: val2017/000000290081.jpg  
 extracting: val2017/000000256192.jpg  
 extracting: val2017/000000261318.jpg  
 extracting: val2017/000000248980.jpg  
 extracting: val2017/000000058384.jpg  
 extracting: val2017/000000197022.jpg  
 extracting: val2017/000000233771.jpg  
 extracting: val2017/000000174004.jpg  
 extracting: val2017/000000500477.jpg  
 extracting: val2017/000000438862.jpg  
 extracting: val2017/000000243344.jpg  
 extracting: val2017/000000549220.jpg  
 extracting: val2017/000000071451.jpg  
 extracting: val2017/000000363666.jpg  
 extracting: val2017/000000201676.jpg  
 extracting: val2017/000000308531.jpg  
 extracting: val2017/000000493799.jpg  
 extracting: val2017/000000523807.jpg  
 extracting: val2017/000000219578.jpg  
 extracting: val2017/000000382088.jpg  
 extracting: val2017/000000294831.jpg  
 extracting: val2017/000000164602.jpg  
 extracting: val2017/000000148783.jpg  
 extracting: val2017/000000174482.jpg  
 extracting: val2017/000000359677.jpg  
 extracting: val2017/000000391648.jpg  
 extracting: val2017/000000312552.jpg  
 extracting: val2017/000000356248.jpg  
 extracting: val2017/000000427256.jpg  
 extracting: val2017/000000376112.jpg  
 extracting: val2017/000000484415.jpg  
 extracting: val2017/000000061584.jpg  
 extracting: val2017/000000505789.jpg  
 extracting: val2017/000000298396.jpg  
 extracting: val2017/000000395633.jpg  
 extracting: val2017/000000452122.jpg  
 extracting: val2017/000000521717.jpg  
 extracting: val2017/000000149568.jpg  
 extracting: val2017/000000486104.jpg  
 extracting: val2017/000000442661.jpg  
 extracting: val2017/000000245311.jpg  
 extracting: val2017/000000266409.jpg  
 extracting: val2017/000000571804.jpg  
 extracting: val2017/000000322844.jpg  
 extracting: val2017/000000429718.jpg  
 extracting: val2017/000000285047.jpg  
 extracting: val2017/000000229601.jpg  
 extracting: val2017/000000367569.jpg  
 extracting: val2017/000000460347.jpg  
 extracting: val2017/000000524742.jpg  
 extracting: val2017/000000269932.jpg  
 extracting: val2017/000000069106.jpg  
 extracting: val2017/000000411665.jpg  
 extracting: val2017/000000182155.jpg  
 extracting: val2017/000000314914.jpg  
 extracting: val2017/000000090284.jpg  
 extracting: val2017/000000319617.jpg  
 extracting: val2017/000000447313.jpg  
 extracting: val2017/000000449432.jpg  
 extracting: val2017/000000263068.jpg  
 extracting: val2017/000000131131.jpg  
 extracting: val2017/000000101762.jpg  
 extracting: val2017/000000377497.jpg  
 extracting: val2017/000000012748.jpg  
 extracting: val2017/000000213445.jpg  
 extracting: val2017/000000167128.jpg  
 extracting: val2017/000000198915.jpg  
 extracting: val2017/000000139872.jpg  
 extracting: val2017/000000382734.jpg  
 extracting: val2017/000000226408.jpg  
 extracting: val2017/000000172083.jpg  
 extracting: val2017/000000313588.jpg  
 extracting: val2017/000000480021.jpg  
 extracting: val2017/000000267946.jpg  
 extracting: val2017/000000305695.jpg  
 extracting: val2017/000000171740.jpg  
 extracting: val2017/000000520301.jpg  
 extracting: val2017/000000504711.jpg  
 extracting: val2017/000000251824.jpg  
 extracting: val2017/000000256407.jpg  
 extracting: val2017/000000455157.jpg  
 extracting: val2017/000000236308.jpg  
 extracting: val2017/000000064495.jpg  
 extracting: val2017/000000252701.jpg  
 extracting: val2017/000000173830.jpg  
 extracting: val2017/000000107339.jpg  
 extracting: val2017/000000066841.jpg  
 extracting: val2017/000000350148.jpg  
 extracting: val2017/000000558073.jpg  
 extracting: val2017/000000514586.jpg  
 extracting: val2017/000000143068.jpg  
 extracting: val2017/000000085376.jpg  
 extracting: val2017/000000240250.jpg  
 extracting: val2017/000000359781.jpg  
 extracting: val2017/000000246968.jpg  
 extracting: val2017/000000132587.jpg  
 extracting: val2017/000000134689.jpg  
 extracting: val2017/000000350833.jpg  
 extracting: val2017/000000579158.jpg  
 extracting: val2017/000000131386.jpg  
 extracting: val2017/000000191580.jpg  
 extracting: val2017/000000032861.jpg  
 extracting: val2017/000000433515.jpg  
 extracting: val2017/000000099053.jpg  
 extracting: val2017/000000490936.jpg  
 extracting: val2017/000000177065.jpg  
 extracting: val2017/000000391140.jpg  
 extracting: val2017/000000014888.jpg  
 extracting: val2017/000000166165.jpg  
 extracting: val2017/000000188296.jpg  
 extracting: val2017/000000546829.jpg  
 extracting: val2017/000000076211.jpg  
 extracting: val2017/000000284445.jpg  
 extracting: val2017/000000261888.jpg  
 extracting: val2017/000000271402.jpg  
 extracting: val2017/000000195918.jpg  
 extracting: val2017/000000476787.jpg  
 extracting: val2017/000000003934.jpg  
 extracting: val2017/000000052007.jpg  
 extracting: val2017/000000226903.jpg  
 extracting: val2017/000000080057.jpg  
 extracting: val2017/000000516173.jpg  
 extracting: val2017/000000314177.jpg  
 extracting: val2017/000000184791.jpg  
 extracting: val2017/000000579900.jpg  
 extracting: val2017/000000000285.jpg  
 extracting: val2017/000000489046.jpg  
 extracting: val2017/000000499768.jpg  
 extracting: val2017/000000446522.jpg  
 extracting: val2017/000000562818.jpg  
 extracting: val2017/000000414795.jpg  
 extracting: val2017/000000392933.jpg  
 extracting: val2017/000000334555.jpg  
 extracting: val2017/000000150649.jpg  
 extracting: val2017/000000345397.jpg  
 extracting: val2017/000000266768.jpg  
 extracting: val2017/000000230166.jpg  
 extracting: val2017/000000130613.jpg  
 extracting: val2017/000000309964.jpg  
 extracting: val2017/000000380203.jpg  
 extracting: val2017/000000171190.jpg  
 extracting: val2017/000000303653.jpg  
 extracting: val2017/000000147725.jpg  
 extracting: val2017/000000396903.jpg  
 extracting: val2017/000000300155.jpg  
 extracting: val2017/000000245576.jpg  
 extracting: val2017/000000121417.jpg  
 extracting: val2017/000000055150.jpg  
 extracting: val2017/000000571313.jpg  
 extracting: val2017/000000248810.jpg  
 extracting: val2017/000000484978.jpg  
 extracting: val2017/000000539883.jpg  
 extracting: val2017/000000215644.jpg  
 extracting: val2017/000000187990.jpg  
 extracting: val2017/000000527528.jpg  
 extracting: val2017/000000538364.jpg  
 extracting: val2017/000000330818.jpg  
 extracting: val2017/000000193926.jpg  
 extracting: val2017/000000030785.jpg  
 extracting: val2017/000000085089.jpg  
 extracting: val2017/000000268996.jpg  
 extracting: val2017/000000519688.jpg  
 extracting: val2017/000000006040.jpg  
 extracting: val2017/000000473219.jpg  
 extracting: val2017/000000555597.jpg  
 extracting: val2017/000000492362.jpg  
 extracting: val2017/000000189451.jpg  
 extracting: val2017/000000476215.jpg  
 extracting: val2017/000000191614.jpg  
 extracting: val2017/000000571893.jpg  
 extracting: val2017/000000209613.jpg  
 extracting: val2017/000000484893.jpg  
 extracting: val2017/000000516804.jpg  
 extracting: val2017/000000534673.jpg  
 extracting: val2017/000000022479.jpg  
 extracting: val2017/000000459153.jpg  
 extracting: val2017/000000272136.jpg  
 extracting: val2017/000000231508.jpg  
 extracting: val2017/000000000724.jpg  
 extracting: val2017/000000477955.jpg  
 extracting: val2017/000000418959.jpg  
 extracting: val2017/000000257478.jpg  
 extracting: val2017/000000173371.jpg  
 extracting: val2017/000000415716.jpg  
 extracting: val2017/000000571598.jpg  
 extracting: val2017/000000426268.jpg  
 extracting: val2017/000000164363.jpg  
 extracting: val2017/000000171757.jpg  
 extracting: val2017/000000260105.jpg  
 extracting: val2017/000000474021.jpg  
 extracting: val2017/000000034760.jpg  
 extracting: val2017/000000402615.jpg  
 extracting: val2017/000000507042.jpg  
 extracting: val2017/000000077396.jpg  
 extracting: val2017/000000282037.jpg  
 extracting: val2017/000000255912.jpg  
 extracting: val2017/000000452784.jpg  
 extracting: val2017/000000308476.jpg  
 extracting: val2017/000000288391.jpg  
 extracting: val2017/000000439525.jpg  
 extracting: val2017/000000034139.jpg  
 extracting: val2017/000000025057.jpg  
 extracting: val2017/000000272148.jpg  
 extracting: val2017/000000419882.jpg  
 extracting: val2017/000000183709.jpg  
 extracting: val2017/000000166521.jpg  
 extracting: val2017/000000550084.jpg  
 extracting: val2017/000000050149.jpg  
 extracting: val2017/000000078843.jpg  
 extracting: val2017/000000424776.jpg  
 extracting: val2017/000000441468.jpg  
 extracting: val2017/000000186938.jpg  
 extracting: val2017/000000046804.jpg  
 extracting: val2017/000000213605.jpg  
 extracting: val2017/000000556193.jpg  
 extracting: val2017/000000133087.jpg  
 extracting: val2017/000000280918.jpg  
 extracting: val2017/000000350019.jpg  
 extracting: val2017/000000504415.jpg  
 extracting: val2017/000000565962.jpg  
 extracting: val2017/000000413689.jpg  
 extracting: val2017/000000520832.jpg  
 extracting: val2017/000000338560.jpg  
 extracting: val2017/000000163682.jpg  
 extracting: val2017/000000232692.jpg  
 extracting: val2017/000000338428.jpg  
 extracting: val2017/000000100510.jpg  
 extracting: val2017/000000565469.jpg  
 extracting: val2017/000000485130.jpg  
 extracting: val2017/000000149770.jpg  
 extracting: val2017/000000080666.jpg  
 extracting: val2017/000000537827.jpg  
 extracting: val2017/000000198960.jpg  
 extracting: val2017/000000521540.jpg  
 extracting: val2017/000000543047.jpg  
 extracting: val2017/000000409358.jpg  
 extracting: val2017/000000208901.jpg  
 extracting: val2017/000000338625.jpg  
 extracting: val2017/000000278463.jpg  
 extracting: val2017/000000171050.jpg  
 extracting: val2017/000000311002.jpg  
 extracting: val2017/000000051598.jpg  
 extracting: val2017/000000534605.jpg  
 extracting: val2017/000000127092.jpg  
 extracting: val2017/000000479732.jpg  
 extracting: val2017/000000042102.jpg  
 extracting: val2017/000000478420.jpg  
 extracting: val2017/000000423617.jpg  
 extracting: val2017/000000236412.jpg  
 extracting: val2017/000000560266.jpg  
 extracting: val2017/000000541123.jpg  
 extracting: val2017/000000464872.jpg  
 extracting: val2017/000000231339.jpg  
 extracting: val2017/000000430056.jpg  
 extracting: val2017/000000005193.jpg  
 extracting: val2017/000000351823.jpg  
 extracting: val2017/000000081988.jpg  
 extracting: val2017/000000459954.jpg  
 extracting: val2017/000000255917.jpg  
 extracting: val2017/000000464689.jpg  
 extracting: val2017/000000151938.jpg  
 extracting: val2017/000000173057.jpg  
 extracting: val2017/000000181666.jpg  
 extracting: val2017/000000009891.jpg  
 extracting: val2017/000000015497.jpg  
 extracting: val2017/000000249025.jpg  
 extracting: val2017/000000443303.jpg  
 extracting: val2017/000000335658.jpg  
 extracting: val2017/000000243626.jpg  
 extracting: val2017/000000065074.jpg  
 extracting: val2017/000000504580.jpg  
 extracting: val2017/000000015751.jpg  
 extracting: val2017/000000164969.jpg  
 extracting: val2017/000000473121.jpg  
 extracting: val2017/000000246308.jpg  
 extracting: val2017/000000521719.jpg  
 extracting: val2017/000000001000.jpg  
 extracting: val2017/000000094157.jpg  
 extracting: val2017/000000401446.jpg  
 extracting: val2017/000000093154.jpg  
 extracting: val2017/000000139077.jpg  
 extracting: val2017/000000581357.jpg  
 extracting: val2017/000000137246.jpg  
 extracting: val2017/000000113403.jpg  
 extracting: val2017/000000447169.jpg  
 extracting: val2017/000000161978.jpg  
 extracting: val2017/000000521405.jpg  
 extracting: val2017/000000289222.jpg  
 extracting: val2017/000000516318.jpg  
 extracting: val2017/000000027768.jpg  
 extracting: val2017/000000237517.jpg  
 extracting: val2017/000000256941.jpg  
 extracting: val2017/000000200162.jpg  
 extracting: val2017/000000104603.jpg  
 extracting: val2017/000000431545.jpg  
 extracting: val2017/000000013597.jpg  
 extracting: val2017/000000562448.jpg  
 extracting: val2017/000000221754.jpg  
 extracting: val2017/000000577976.jpg  
 extracting: val2017/000000555009.jpg  
 extracting: val2017/000000357081.jpg  
 extracting: val2017/000000248631.jpg  
 extracting: val2017/000000491130.jpg  
 extracting: val2017/000000001584.jpg  
 extracting: val2017/000000309938.jpg  
 extracting: val2017/000000395180.jpg  
 extracting: val2017/000000482487.jpg  
 extracting: val2017/000000198510.jpg  
 extracting: val2017/000000080153.jpg  
 extracting: val2017/000000096427.jpg  
 extracting: val2017/000000348012.jpg  
 extracting: val2017/000000518213.jpg  
 extracting: val2017/000000376278.jpg  
 extracting: val2017/000000056350.jpg  
 extracting: val2017/000000168458.jpg  
 extracting: val2017/000000262587.jpg  
 extracting: val2017/000000151480.jpg  
 extracting: val2017/000000419312.jpg  
 extracting: val2017/000000029187.jpg  
 extracting: val2017/000000067406.jpg  
 extracting: val2017/000000371749.jpg  
 extracting: val2017/000000334767.jpg  
 extracting: val2017/000000190307.jpg  
 extracting: val2017/000000400794.jpg  
 extracting: val2017/000000218091.jpg  
 extracting: val2017/000000484029.jpg  
 extracting: val2017/000000461405.jpg  
 extracting: val2017/000000393056.jpg  
 extracting: val2017/000000552612.jpg  
 extracting: val2017/000000322574.jpg  
 extracting: val2017/000000140640.jpg  
 extracting: val2017/000000229753.jpg  
 extracting: val2017/000000013291.jpg  
 extracting: val2017/000000050896.jpg  
 extracting: val2017/000000104619.jpg  
 extracting: val2017/000000061108.jpg  
 extracting: val2017/000000081394.jpg  
 extracting: val2017/000000055950.jpg  
 extracting: val2017/000000256195.jpg  
 extracting: val2017/000000304404.jpg  
 extracting: val2017/000000133645.jpg  
 extracting: val2017/000000217872.jpg  
 extracting: val2017/000000308631.jpg  
 extracting: val2017/000000458410.jpg  
 extracting: val2017/000000523175.jpg  
 extracting: val2017/000000078823.jpg  
 extracting: val2017/000000392722.jpg  
 extracting: val2017/000000480122.jpg  
 extracting: val2017/000000142620.jpg  
 extracting: val2017/000000006471.jpg  
 extracting: val2017/000000195165.jpg  
 extracting: val2017/000000098520.jpg  
 extracting: val2017/000000473974.jpg  
 extracting: val2017/000000022371.jpg  
 extracting: val2017/000000136633.jpg  
 extracting: val2017/000000079408.jpg  
 extracting: val2017/000000307145.jpg  
 extracting: val2017/000000429623.jpg  
 extracting: val2017/000000466416.jpg  
 extracting: val2017/000000394677.jpg  
 extracting: val2017/000000324818.jpg  
 extracting: val2017/000000017115.jpg  
 extracting: val2017/000000389197.jpg  
 extracting: val2017/000000046378.jpg  
 extracting: val2017/000000474452.jpg  
 extracting: val2017/000000327605.jpg  
 extracting: val2017/000000508370.jpg  
 extracting: val2017/000000263425.jpg  
 extracting: val2017/000000463527.jpg  
 extracting: val2017/000000301981.jpg  
 extracting: val2017/000000186632.jpg  
 extracting: val2017/000000057244.jpg  
 extracting: val2017/000000007088.jpg  
 extracting: val2017/000000177489.jpg  
 extracting: val2017/000000177861.jpg  
 extracting: val2017/000000200152.jpg  
 extracting: val2017/000000096960.jpg  
 extracting: val2017/000000565391.jpg  
 extracting: val2017/000000132408.jpg  
 extracting: val2017/000000218997.jpg  
 extracting: val2017/000000194832.jpg  
 extracting: val2017/000000302882.jpg  
 extracting: val2017/000000292997.jpg  
 extracting: val2017/000000427077.jpg  
 extracting: val2017/000000560011.jpg  
 extracting: val2017/000000499031.jpg  
 extracting: val2017/000000411530.jpg  
 extracting: val2017/000000413395.jpg  
 extracting: val2017/000000346638.jpg  
 extracting: val2017/000000122217.jpg  
 extracting: val2017/000000199055.jpg  
 extracting: val2017/000000421923.jpg  
 extracting: val2017/000000261161.jpg  
 extracting: val2017/000000567825.jpg  
 extracting: val2017/000000456303.jpg  
 extracting: val2017/000000450488.jpg  
 extracting: val2017/000000527960.jpg  
 extracting: val2017/000000246454.jpg  
 extracting: val2017/000000328117.jpg  
 extracting: val2017/000000508602.jpg  
 extracting: val2017/000000017436.jpg  
 extracting: val2017/000000159311.jpg  
 extracting: val2017/000000293858.jpg  
 extracting: val2017/000000294163.jpg  
 extracting: val2017/000000157138.jpg  
 extracting: val2017/000000460229.jpg  
 extracting: val2017/000000473821.jpg  
 extracting: val2017/000000108244.jpg  
 extracting: val2017/000000546219.jpg  
 extracting: val2017/000000344888.jpg  
 extracting: val2017/000000439290.jpg  
 extracting: val2017/000000294855.jpg  
 extracting: val2017/000000417608.jpg  
 extracting: val2017/000000229997.jpg  
 extracting: val2017/000000092124.jpg  
 extracting: val2017/000000474078.jpg  
 extracting: val2017/000000103548.jpg  
 extracting: val2017/000000577959.jpg  
 extracting: val2017/000000227985.jpg  
 extracting: val2017/000000546976.jpg  
 extracting: val2017/000000577932.jpg  
 extracting: val2017/000000350003.jpg  
 extracting: val2017/000000235784.jpg  
 extracting: val2017/000000028285.jpg  
 extracting: val2017/000000075612.jpg  
 extracting: val2017/000000270677.jpg  
 extracting: val2017/000000018150.jpg  
 extracting: val2017/000000268000.jpg  
 extracting: val2017/000000558854.jpg  
 extracting: val2017/000000121586.jpg  
 extracting: val2017/000000566758.jpg  
 extracting: val2017/000000537153.jpg  
 extracting: val2017/000000554002.jpg  
 extracting: val2017/000000455937.jpg  
 extracting: val2017/000000157928.jpg  
 extracting: val2017/000000262048.jpg  
 extracting: val2017/000000320490.jpg  
 extracting: val2017/000000313130.jpg  
 extracting: val2017/000000054628.jpg  
 extracting: val2017/000000273493.jpg  
 extracting: val2017/000000517056.jpg  
 extracting: val2017/000000567432.jpg  
 extracting: val2017/000000180792.jpg  
 extracting: val2017/000000078959.jpg  
 extracting: val2017/000000118405.jpg  
 extracting: val2017/000000506279.jpg  
 extracting: val2017/000000180101.jpg  
 extracting: val2017/000000426795.jpg  
 extracting: val2017/000000311928.jpg  
 extracting: val2017/000000297085.jpg  
 extracting: val2017/000000186296.jpg  
 extracting: val2017/000000070254.jpg  
 extracting: val2017/000000569565.jpg  
 extracting: val2017/000000056288.jpg  
 extracting: val2017/000000244411.jpg  
 extracting: val2017/000000056127.jpg  
 extracting: val2017/000000147415.jpg  
 extracting: val2017/000000522638.jpg  
 extracting: val2017/000000405205.jpg  
 extracting: val2017/000000311394.jpg  
 extracting: val2017/000000475064.jpg  
 extracting: val2017/000000061418.jpg  
 extracting: val2017/000000134034.jpg  
 extracting: val2017/000000335177.jpg  
 extracting: val2017/000000571857.jpg  
 extracting: val2017/000000468233.jpg  
 extracting: val2017/000000192047.jpg  
 extracting: val2017/000000559513.jpg  
 extracting: val2017/000000534664.jpg  
 extracting: val2017/000000545129.jpg  
 extracting: val2017/000000434479.jpg  
 extracting: val2017/000000179141.jpg  
 extracting: val2017/000000316666.jpg  
 extracting: val2017/000000013546.jpg  
 extracting: val2017/000000156372.jpg  
 extracting: val2017/000000384808.jpg  
 extracting: val2017/000000243989.jpg  
 extracting: val2017/000000521052.jpg  
 extracting: val2017/000000290163.jpg  
 extracting: val2017/000000002299.jpg  
 extracting: val2017/000000223738.jpg  
 extracting: val2017/000000140439.jpg  
 extracting: val2017/000000364884.jpg  
 extracting: val2017/000000499266.jpg  
 extracting: val2017/000000113720.jpg  
 extracting: val2017/000000085478.jpg  
 extracting: val2017/000000510095.jpg  
 extracting: val2017/000000155571.jpg  
 extracting: val2017/000000512564.jpg  
 extracting: val2017/000000332351.jpg  
 extracting: val2017/000000511453.jpg  
 extracting: val2017/000000415882.jpg  
 extracting: val2017/000000088269.jpg  
 extracting: val2017/000000365521.jpg  
 extracting: val2017/000000071226.jpg  
 extracting: val2017/000000234526.jpg  
 extracting: val2017/000000413404.jpg  
 extracting: val2017/000000415990.jpg  
 extracting: val2017/000000107087.jpg  
 extracting: val2017/000000139099.jpg  
 extracting: val2017/000000540962.jpg  
 extracting: val2017/000000275791.jpg  
 extracting: val2017/000000257169.jpg  
 extracting: val2017/000000546826.jpg  
 extracting: val2017/000000147498.jpg  
 extracting: val2017/000000493286.jpg  
 extracting: val2017/000000085682.jpg  
 extracting: val2017/000000412286.jpg  
 extracting: val2017/000000463283.jpg  
 extracting: val2017/000000368335.jpg  
 extracting: val2017/000000337498.jpg  
 extracting: val2017/000000227044.jpg  
 extracting: val2017/000000051938.jpg  
 extracting: val2017/000000028809.jpg  
 extracting: val2017/000000170474.jpg  
 extracting: val2017/000000279774.jpg  
 extracting: val2017/000000383386.jpg  
 extracting: val2017/000000363461.jpg  
 extracting: val2017/000000432553.jpg  
 extracting: val2017/000000332455.jpg  
 extracting: val2017/000000281447.jpg  
 extracting: val2017/000000217425.jpg  
 extracting: val2017/000000291664.jpg  
 extracting: val2017/000000050679.jpg  
 extracting: val2017/000000137106.jpg  
 extracting: val2017/000000249643.jpg  
 extracting: val2017/000000322352.jpg  
 extracting: val2017/000000345356.jpg  
 extracting: val2017/000000480936.jpg  
 extracting: val2017/000000225532.jpg  
 extracting: val2017/000000226147.jpg  
 extracting: val2017/000000445365.jpg  
 extracting: val2017/000000125072.jpg  
 extracting: val2017/000000023034.jpg  
 extracting: val2017/000000558421.jpg  
 extracting: val2017/000000328430.jpg  
 extracting: val2017/000000524850.jpg  
 extracting: val2017/000000467511.jpg  
 extracting: val2017/000000088250.jpg  
 extracting: val2017/000000188906.jpg  
 extracting: val2017/000000259625.jpg  
 extracting: val2017/000000127182.jpg  
 extracting: val2017/000000422998.jpg  
 extracting: val2017/000000076261.jpg  
 extracting: val2017/000000448448.jpg  
 extracting: val2017/000000212895.jpg  
 extracting: val2017/000000534827.jpg  
 extracting: val2017/000000312421.jpg  
 extracting: val2017/000000371677.jpg  
 extracting: val2017/000000541664.jpg  
 extracting: val2017/000000416885.jpg  
 extracting: val2017/000000446703.jpg  
 extracting: val2017/000000103585.jpg  
 extracting: val2017/000000572555.jpg  
 extracting: val2017/000000177934.jpg  
 extracting: val2017/000000026465.jpg  
 extracting: val2017/000000563702.jpg  
 extracting: val2017/000000376442.jpg  
 extracting: val2017/000000163057.jpg  
 extracting: val2017/000000117374.jpg  
 extracting: val2017/000000477623.jpg  
 extracting: val2017/000000086220.jpg  
 extracting: val2017/000000006771.jpg  
 extracting: val2017/000000052891.jpg  
 extracting: val2017/000000453584.jpg  
 extracting: val2017/000000286849.jpg  
 extracting: val2017/000000165351.jpg  
 extracting: val2017/000000567011.jpg  
 extracting: val2017/000000203629.jpg  
 extracting: val2017/000000154000.jpg  
 extracting: val2017/000000121153.jpg  
 extracting: val2017/000000043737.jpg  
 extracting: val2017/000000202445.jpg  
 extracting: val2017/000000499313.jpg  
 extracting: val2017/000000084170.jpg  
 extracting: val2017/000000186345.jpg  
 extracting: val2017/000000272364.jpg  
 extracting: val2017/000000364557.jpg  
 extracting: val2017/000000010995.jpg  
 extracting: val2017/000000115885.jpg  
 extracting: val2017/000000011760.jpg  
 extracting: val2017/000000235064.jpg  
 extracting: val2017/000000391144.jpg  
 extracting: val2017/000000206579.jpg  
 extracting: val2017/000000098018.jpg  
 extracting: val2017/000000365207.jpg  
 extracting: val2017/000000140270.jpg  
 extracting: val2017/000000301563.jpg  
 extracting: val2017/000000439854.jpg  
 extracting: val2017/000000325114.jpg  
 extracting: val2017/000000016228.jpg  
 extracting: val2017/000000461751.jpg  
 extracting: val2017/000000192607.jpg  
 extracting: val2017/000000182923.jpg  
 extracting: val2017/000000111036.jpg  
 extracting: val2017/000000127517.jpg  
 extracting: val2017/000000076416.jpg  
 extracting: val2017/000000289516.jpg  
 extracting: val2017/000000179898.jpg  
 extracting: val2017/000000542127.jpg  
 extracting: val2017/000000495732.jpg  
 extracting: val2017/000000123480.jpg  
 extracting: val2017/000000092660.jpg  
 extracting: val2017/000000144706.jpg  
 extracting: val2017/000000333772.jpg  
 extracting: val2017/000000060823.jpg  
 extracting: val2017/000000161397.jpg  
 extracting: val2017/000000175438.jpg  
 extracting: val2017/000000241602.jpg  
 extracting: val2017/000000315257.jpg  
 extracting: val2017/000000235836.jpg  
 extracting: val2017/000000387098.jpg  
 extracting: val2017/000000398742.jpg  
 extracting: val2017/000000248616.jpg  
 extracting: val2017/000000456559.jpg  
 extracting: val2017/000000357888.jpg  
 extracting: val2017/000000392228.jpg  
 extracting: val2017/000000512330.jpg  
 extracting: val2017/000000548506.jpg  
 extracting: val2017/000000472298.jpg  
 extracting: val2017/000000087875.jpg  
 extracting: val2017/000000514508.jpg  
 extracting: val2017/000000051976.jpg  
 extracting: val2017/000000163118.jpg  
 extracting: val2017/000000037777.jpg  
 extracting: val2017/000000235057.jpg  
 extracting: val2017/000000492937.jpg  
 extracting: val2017/000000546556.jpg  
 extracting: val2017/000000383337.jpg  
 extracting: val2017/000000110638.jpg  
 extracting: val2017/000000180798.jpg  
 extracting: val2017/000000297022.jpg  
 extracting: val2017/000000250758.jpg  
 extracting: val2017/000000579970.jpg  
 extracting: val2017/000000523241.jpg  
 extracting: val2017/000000581062.jpg  
 extracting: val2017/000000157365.jpg  
 extracting: val2017/000000374052.jpg  
 extracting: val2017/000000390246.jpg  
 extracting: val2017/000000193743.jpg  
 extracting: val2017/000000203294.jpg  
 extracting: val2017/000000492077.jpg  
 extracting: val2017/000000199551.jpg  
 extracting: val2017/000000033368.jpg  
 extracting: val2017/000000164885.jpg  
 extracting: val2017/000000249219.jpg  
 extracting: val2017/000000092939.jpg  
 extracting: val2017/000000382125.jpg  
 extracting: val2017/000000088432.jpg  
 extracting: val2017/000000333956.jpg  
 extracting: val2017/000000567197.jpg  
 extracting: val2017/000000102356.jpg  
 extracting: val2017/000000274460.jpg  
 extracting: val2017/000000459662.jpg  
 extracting: val2017/000000447342.jpg  
 extracting: val2017/000000173004.jpg  
 extracting: val2017/000000505169.jpg  
 extracting: val2017/000000059635.jpg  
 extracting: val2017/000000050331.jpg  
 extracting: val2017/000000232684.jpg  
 extracting: val2017/000000454978.jpg  
 extracting: val2017/000000292005.jpg  
 extracting: val2017/000000165518.jpg  
 extracting: val2017/000000019042.jpg  
 extracting: val2017/000000174123.jpg  
 extracting: val2017/000000507893.jpg  
 extracting: val2017/000000025393.jpg  
 extracting: val2017/000000331352.jpg  
 extracting: val2017/000000109992.jpg  
 extracting: val2017/000000180751.jpg  
 extracting: val2017/000000097230.jpg  
 extracting: val2017/000000459887.jpg  
 extracting: val2017/000000404601.jpg  
 extracting: val2017/000000300233.jpg  
 extracting: val2017/000000359219.jpg  
 extracting: val2017/000000310622.jpg  
 extracting: val2017/000000557672.jpg  
 extracting: val2017/000000293794.jpg  
 extracting: val2017/000000153797.jpg  
 extracting: val2017/000000320232.jpg  
 extracting: val2017/000000237984.jpg  
 extracting: val2017/000000170955.jpg  
 extracting: val2017/000000348881.jpg  
 extracting: val2017/000000129062.jpg  
 extracting: val2017/000000547816.jpg  
 extracting: val2017/000000551822.jpg  
 extracting: val2017/000000251065.jpg  
 extracting: val2017/000000398237.jpg  
 extracting: val2017/000000181969.jpg  
 extracting: val2017/000000455301.jpg  
 extracting: val2017/000000051309.jpg  
 extracting: val2017/000000411938.jpg  
 extracting: val2017/000000050844.jpg  
 extracting: val2017/000000054967.jpg  
 extracting: val2017/000000112997.jpg  
 extracting: val2017/000000206994.jpg  
 extracting: val2017/000000259854.jpg  
 extracting: val2017/000000068093.jpg  
 extracting: val2017/000000465180.jpg  
 extracting: val2017/000000006213.jpg  
 extracting: val2017/000000292330.jpg  
 extracting: val2017/000000267434.jpg  
 extracting: val2017/000000428867.jpg  
 extracting: val2017/000000239347.jpg  
 extracting: val2017/000000365642.jpg  
 extracting: val2017/000000155451.jpg  
 extracting: val2017/000000568290.jpg  
 extracting: val2017/000000062554.jpg  
 extracting: val2017/000000057597.jpg  
 extracting: val2017/000000178469.jpg  
 extracting: val2017/000000357238.jpg  
 extracting: val2017/000000263966.jpg  
 extracting: val2017/000000044260.jpg  
 extracting: val2017/000000168974.jpg  
 extracting: val2017/000000281179.jpg  
 extracting: val2017/000000414673.jpg  
 extracting: val2017/000000124975.jpg  
 extracting: val2017/000000491470.jpg  
 extracting: val2017/000000450439.jpg  
 extracting: val2017/000000100723.jpg  
 extracting: val2017/000000034071.jpg  
 extracting: val2017/000000368684.jpg  
 extracting: val2017/000000329041.jpg  
 extracting: val2017/000000116068.jpg  
 extracting: val2017/000000031093.jpg  
 extracting: val2017/000000581317.jpg  
 extracting: val2017/000000360960.jpg  
 extracting: val2017/000000068286.jpg  
 extracting: val2017/000000179285.jpg  
 extracting: val2017/000000442480.jpg  
 extracting: val2017/000000130599.jpg  
 extracting: val2017/000000378244.jpg  
 extracting: val2017/000000262227.jpg  
 extracting: val2017/000000523229.jpg  
 extracting: val2017/000000042276.jpg  
 extracting: val2017/000000115118.jpg  
 extracting: val2017/000000490470.jpg  
 extracting: val2017/000000242287.jpg  
 extracting: val2017/000000136772.jpg  
 extracting: val2017/000000035682.jpg  
 extracting: val2017/000000464251.jpg  
 extracting: val2017/000000291791.jpg  
 extracting: val2017/000000481159.jpg  
 extracting: val2017/000000178028.jpg  
 extracting: val2017/000000215245.jpg  
 extracting: val2017/000000297578.jpg  
 extracting: val2017/000000198928.jpg  
 extracting: val2017/000000209972.jpg  
 extracting: val2017/000000090956.jpg  
 extracting: val2017/000000171788.jpg  
 extracting: val2017/000000035770.jpg  
 extracting: val2017/000000336658.jpg  
 extracting: val2017/000000010092.jpg  
 extracting: val2017/000000008899.jpg  
 extracting: val2017/000000237316.jpg  
 extracting: val2017/000000114770.jpg  
 extracting: val2017/000000331799.jpg  
 extracting: val2017/000000366141.jpg  
 extracting: val2017/000000560178.jpg  
 extracting: val2017/000000244099.jpg  
 extracting: val2017/000000194940.jpg  
 extracting: val2017/000000249180.jpg  
 extracting: val2017/000000274272.jpg  
 extracting: val2017/000000085823.jpg  
 extracting: val2017/000000473406.jpg  
 extracting: val2017/000000101787.jpg  
 extracting: val2017/000000106389.jpg  
 extracting: val2017/000000447314.jpg  
 extracting: val2017/000000303713.jpg  
 extracting: val2017/000000117525.jpg  
 extracting: val2017/000000492905.jpg  
 extracting: val2017/000000311950.jpg  
 extracting: val2017/000000227511.jpg  
 extracting: val2017/000000032811.jpg  
 extracting: val2017/000000209530.jpg  
 extracting: val2017/000000170670.jpg  
 extracting: val2017/000000022892.jpg  
 extracting: val2017/000000398905.jpg  
 extracting: val2017/000000074457.jpg  
 extracting: val2017/000000050828.jpg  
 extracting: val2017/000000224664.jpg  
 extracting: val2017/000000530624.jpg  
 extracting: val2017/000000006460.jpg  
 extracting: val2017/000000189078.jpg  
 extracting: val2017/000000408112.jpg  
 extracting: val2017/000000258911.jpg  
 extracting: val2017/000000572303.jpg  
 extracting: val2017/000000389684.jpg  
 extracting: val2017/000000161861.jpg  
 extracting: val2017/000000024243.jpg  
 extracting: val2017/000000125572.jpg  
 extracting: val2017/000000213033.jpg  
 extracting: val2017/000000130826.jpg  
 extracting: val2017/000000457262.jpg  
 extracting: val2017/000000372317.jpg  
 extracting: val2017/000000252294.jpg  
 extracting: val2017/000000031322.jpg  
 extracting: val2017/000000506933.jpg  
 extracting: val2017/000000276018.jpg  
 extracting: val2017/000000563603.jpg  
 extracting: val2017/000000108864.jpg  
 extracting: val2017/000000273232.jpg  
 extracting: val2017/000000253452.jpg  
 extracting: val2017/000000201775.jpg  
 extracting: val2017/000000351589.jpg  
 extracting: val2017/000000018519.jpg  
 extracting: val2017/000000399296.jpg  
 extracting: val2017/000000002473.jpg  
 extracting: val2017/000000160772.jpg  
 extracting: val2017/000000054593.jpg  
 extracting: val2017/000000127270.jpg  
 extracting: val2017/000000303566.jpg  
 extracting: val2017/000000354547.jpg  
 extracting: val2017/000000405432.jpg  
 extracting: val2017/000000548267.jpg  
 extracting: val2017/000000091654.jpg  
 extracting: val2017/000000138639.jpg  
 extracting: val2017/000000501368.jpg  
 extracting: val2017/000000458255.jpg  
 extracting: val2017/000000050006.jpg  
 extracting: val2017/000000564127.jpg  
 extracting: val2017/000000109976.jpg  
 extracting: val2017/000000246963.jpg  
 extracting: val2017/000000098839.jpg  
 extracting: val2017/000000475779.jpg  
 extracting: val2017/000000287959.jpg  
 extracting: val2017/000000429761.jpg  
 extracting: val2017/000000130699.jpg  
 extracting: val2017/000000188439.jpg  
 extracting: val2017/000000507235.jpg  
 extracting: val2017/000000561256.jpg  
 extracting: val2017/000000216296.jpg  
 extracting: val2017/000000445439.jpg  
 extracting: val2017/000000344621.jpg  
 extracting: val2017/000000504439.jpg  
 extracting: val2017/000000143961.jpg  
 extracting: val2017/000000032570.jpg  
 extracting: val2017/000000462756.jpg  
 extracting: val2017/000000575372.jpg  
 extracting: val2017/000000154947.jpg  
 extracting: val2017/000000462629.jpg  
 extracting: val2017/000000157807.jpg  
 extracting: val2017/000000417632.jpg  
 extracting: val2017/000000374083.jpg  
 extracting: val2017/000000209753.jpg  
 extracting: val2017/000000133000.jpg  
 extracting: val2017/000000144932.jpg  
 extracting: val2017/000000145597.jpg  
 extracting: val2017/000000528314.jpg  
 extracting: val2017/000000481480.jpg  
 extracting: val2017/000000525286.jpg  
 extracting: val2017/000000038210.jpg  
 extracting: val2017/000000306893.jpg  
 extracting: val2017/000000046497.jpg  
 extracting: val2017/000000488075.jpg  
 extracting: val2017/000000438907.jpg  
 extracting: val2017/000000312586.jpg  
 extracting: val2017/000000471087.jpg  
 extracting: val2017/000000364322.jpg  
 extracting: val2017/000000252559.jpg  
 extracting: val2017/000000475732.jpg  
 extracting: val2017/000000350405.jpg  
 extracting: val2017/000000200421.jpg  
 extracting: val2017/000000304180.jpg  
 extracting: val2017/000000200961.jpg  
 extracting: val2017/000000177015.jpg  
 extracting: val2017/000000412887.jpg  
 extracting: val2017/000000265108.jpg  
 extracting: val2017/000000533145.jpg  
 extracting: val2017/000000356432.jpg  
 extracting: val2017/000000491464.jpg  
 extracting: val2017/000000521956.jpg  
 extracting: val2017/000000219440.jpg  
 extracting: val2017/000000357816.jpg  
 extracting: val2017/000000066635.jpg  
 extracting: val2017/000000181499.jpg  
 extracting: val2017/000000275058.jpg  
 extracting: val2017/000000020553.jpg  
 extracting: val2017/000000440617.jpg  
 extracting: val2017/000000085195.jpg  
 extracting: val2017/000000104455.jpg  
 extracting: val2017/000000257566.jpg  
 extracting: val2017/000000547886.jpg  
 extracting: val2017/000000512836.jpg  
 extracting: val2017/000000074092.jpg  
 extracting: val2017/000000233370.jpg  
 extracting: val2017/000000370711.jpg  
 extracting: val2017/000000003156.jpg  
 extracting: val2017/000000243867.jpg  
 extracting: val2017/000000231747.jpg  
 extracting: val2017/000000020992.jpg  
 extracting: val2017/000000159458.jpg  
 extracting: val2017/000000025593.jpg  
 extracting: val2017/000000231097.jpg  
 extracting: val2017/000000106881.jpg  
 extracting: val2017/000000326248.jpg  
 extracting: val2017/000000354072.jpg  
 extracting: val2017/000000474028.jpg  
 extracting: val2017/000000122969.jpg  
 extracting: val2017/000000167353.jpg  
 extracting: val2017/000000122962.jpg  
 extracting: val2017/000000086483.jpg  
 extracting: val2017/000000541291.jpg  
 extracting: val2017/000000155341.jpg  
 extracting: val2017/000000360325.jpg  
 extracting: val2017/000000172396.jpg  
 extracting: val2017/000000192716.jpg  
 extracting: val2017/000000291551.jpg  
 extracting: val2017/000000189475.jpg  
 extracting: val2017/000000254016.jpg  
 extracting: val2017/000000335427.jpg  
 extracting: val2017/000000120777.jpg  
 extracting: val2017/000000375430.jpg  
 extracting: val2017/000000502599.jpg  
 extracting: val2017/000000394559.jpg  
 extracting: val2017/000000500423.jpg  
 extracting: val2017/000000059386.jpg  
 extracting: val2017/000000269316.jpg  
 extracting: val2017/000000273198.jpg  
 extracting: val2017/000000104782.jpg  
 extracting: val2017/000000052591.jpg  
 extracting: val2017/000000444879.jpg  
 extracting: val2017/000000482477.jpg  
 extracting: val2017/000000254814.jpg  
 extracting: val2017/000000185473.jpg  
 extracting: val2017/000000132544.jpg  
 extracting: val2017/000000540502.jpg  
 extracting: val2017/000000370677.jpg  
 extracting: val2017/000000229948.jpg  
 extracting: val2017/000000293625.jpg  
 extracting: val2017/000000320642.jpg  
 extracting: val2017/000000007977.jpg  
 extracting: val2017/000000570782.jpg  
 extracting: val2017/000000577862.jpg  
 extracting: val2017/000000052462.jpg  
 extracting: val2017/000000203580.jpg  
 extracting: val2017/000000180487.jpg  
 extracting: val2017/000000394510.jpg  
 extracting: val2017/000000285894.jpg  
 extracting: val2017/000000504589.jpg  
 extracting: val2017/000000384468.jpg  
 extracting: val2017/000000472046.jpg  
 extracting: val2017/000000491683.jpg  
 extracting: val2017/000000550322.jpg  
 extracting: val2017/000000430961.jpg  
 extracting: val2017/000000527750.jpg  
 extracting: val2017/000000387387.jpg  
 extracting: val2017/000000424521.jpg  
 extracting: val2017/000000288862.jpg  
 extracting: val2017/000000074256.jpg  
 extracting: val2017/000000181816.jpg  
 extracting: val2017/000000158945.jpg  
 extracting: val2017/000000284698.jpg  
 extracting: val2017/000000396205.jpg  
 extracting: val2017/000000341921.jpg  
 extracting: val2017/000000426166.jpg  
 extracting: val2017/000000057672.jpg  
 extracting: val2017/000000140203.jpg  
 extracting: val2017/000000185292.jpg  
 extracting: val2017/000000322968.jpg  
 extracting: val2017/000000381587.jpg  
 extracting: val2017/000000034205.jpg  
 extracting: val2017/000000279278.jpg  
 extracting: val2017/000000572900.jpg  
 extracting: val2017/000000396863.jpg  
 extracting: val2017/000000458223.jpg  
 extracting: val2017/000000127624.jpg  
 extracting: val2017/000000573626.jpg  
 extracting: val2017/000000500663.jpg  
 extracting: val2017/000000121591.jpg  
 extracting: val2017/000000068933.jpg  
 extracting: val2017/000000386352.jpg  
 extracting: val2017/000000181796.jpg  
 extracting: val2017/000000329542.jpg  
 extracting: val2017/000000145020.jpg  
 extracting: val2017/000000069224.jpg  
 extracting: val2017/000000354307.jpg  
 extracting: val2017/000000178982.jpg  
 extracting: val2017/000000517523.jpg  
 extracting: val2017/000000255165.jpg  
 extracting: val2017/000000281687.jpg  
 extracting: val2017/000000349184.jpg  
 extracting: val2017/000000012576.jpg  
 extracting: val2017/000000242411.jpg  
 extracting: val2017/000000566042.jpg  
 extracting: val2017/000000398810.jpg  
 extracting: val2017/000000432898.jpg  
 extracting: val2017/000000295797.jpg  
 extracting: val2017/000000180011.jpg  
 extracting: val2017/000000175443.jpg  
 extracting: val2017/000000311303.jpg  
 extracting: val2017/000000179653.jpg  
 extracting: val2017/000000079588.jpg  
 extracting: val2017/000000267351.jpg  
 extracting: val2017/000000042889.jpg  
 extracting: val2017/000000479912.jpg  
 extracting: val2017/000000563882.jpg  
 extracting: val2017/000000023899.jpg  
 extracting: val2017/000000064718.jpg  
 extracting: val2017/000000509014.jpg  
 extracting: val2017/000000156076.jpg  
 extracting: val2017/000000579321.jpg  
 extracting: val2017/000000471450.jpg  
 extracting: val2017/000000169169.jpg  
 extracting: val2017/000000422706.jpg  
 extracting: val2017/000000183391.jpg  
 extracting: val2017/000000008690.jpg  
 extracting: val2017/000000361919.jpg  
 extracting: val2017/000000421757.jpg  
 extracting: val2017/000000369503.jpg  
 extracting: val2017/000000201148.jpg  
 extracting: val2017/000000250205.jpg  
 extracting: val2017/000000327592.jpg  
 extracting: val2017/000000464476.jpg  
 extracting: val2017/000000238866.jpg  
 extracting: val2017/000000048153.jpg  
 extracting: val2017/000000151662.jpg  
 extracting: val2017/000000060770.jpg  
 extracting: val2017/000000383921.jpg  
 extracting: val2017/000000046252.jpg  
 extracting: val2017/000000439522.jpg  
 extracting: val2017/000000152120.jpg  
 extracting: val2017/000000179265.jpg  
 extracting: val2017/000000058393.jpg  
 extracting: val2017/000000559348.jpg  
 extracting: val2017/000000029397.jpg  
 extracting: val2017/000000205542.jpg  
 extracting: val2017/000000540280.jpg  
 extracting: val2017/000000368752.jpg  
 extracting: val2017/000000368940.jpg  
 extracting: val2017/000000423506.jpg  
 extracting: val2017/000000312263.jpg  
 extracting: val2017/000000397279.jpg  
 extracting: val2017/000000015956.jpg  
 extracting: val2017/000000333402.jpg  
 extracting: val2017/000000308391.jpg  
 extracting: val2017/000000311295.jpg  
 extracting: val2017/000000340272.jpg  
 extracting: val2017/000000344268.jpg  
 extracting: val2017/000000258388.jpg  
 extracting: val2017/000000418281.jpg  
 extracting: val2017/000000248314.jpg  
 extracting: val2017/000000280710.jpg  
 extracting: val2017/000000001761.jpg  
 extracting: val2017/000000064084.jpg  
 extracting: val2017/000000474167.jpg  
 extracting: val2017/000000319184.jpg  
 extracting: val2017/000000482719.jpg  
 extracting: val2017/000000498032.jpg  
 extracting: val2017/000000210520.jpg  
 extracting: val2017/000000343937.jpg  
 extracting: val2017/000000230819.jpg  
 extracting: val2017/000000484760.jpg  
 extracting: val2017/000000488385.jpg  
 extracting: val2017/000000292415.jpg  
 extracting: val2017/000000124659.jpg  
 extracting: val2017/000000259597.jpg  
 extracting: val2017/000000270883.jpg  
 extracting: val2017/000000297698.jpg  
 extracting: val2017/000000494869.jpg  
 extracting: val2017/000000336628.jpg  
 extracting: val2017/000000417911.jpg  
 extracting: val2017/000000536343.jpg  
 extracting: val2017/000000443844.jpg  
 extracting: val2017/000000460841.jpg  
 extracting: val2017/000000528977.jpg  
 extracting: val2017/000000558114.jpg  
 extracting: val2017/000000199310.jpg  
 extracting: val2017/000000050811.jpg  
 extracting: val2017/000000507797.jpg  
 extracting: val2017/000000282298.jpg  
 extracting: val2017/000000430973.jpg  
 extracting: val2017/000000070229.jpg  
 extracting: val2017/000000119677.jpg  
 extracting: val2017/000000498919.jpg  
 extracting: val2017/000000142324.jpg  
 extracting: val2017/000000447611.jpg  
 extracting: val2017/000000189775.jpg  
 extracting: val2017/000000454661.jpg  
 extracting: val2017/000000197870.jpg  
 extracting: val2017/000000551820.jpg  
 extracting: val2017/000000255664.jpg  
 extracting: val2017/000000248112.jpg  
 extracting: val2017/000000308193.jpg  
 extracting: val2017/000000281032.jpg  
 extracting: val2017/000000365208.jpg  
 extracting: val2017/000000021839.jpg  
 extracting: val2017/000000372466.jpg  
 extracting: val2017/000000458790.jpg  
 extracting: val2017/000000108440.jpg  
 extracting: val2017/000000055167.jpg  
 extracting: val2017/000000575187.jpg  
 extracting: val2017/000000334417.jpg  
 extracting: val2017/000000172648.jpg  
 extracting: val2017/000000513524.jpg  
 extracting: val2017/000000051738.jpg  
 extracting: val2017/000000024567.jpg  
 extracting: val2017/000000054592.jpg  
 extracting: val2017/000000343149.jpg  
 extracting: val2017/000000415748.jpg  
 extracting: val2017/000000308394.jpg  
 extracting: val2017/000000519522.jpg  
 extracting: val2017/000000211674.jpg  
 extracting: val2017/000000253835.jpg  
 extracting: val2017/000000079031.jpg  
 extracting: val2017/000000084664.jpg  
 extracting: val2017/000000323496.jpg  
 extracting: val2017/000000331604.jpg  
 extracting: val2017/000000098261.jpg  
 extracting: val2017/000000451879.jpg  
 extracting: val2017/000000057027.jpg  
 extracting: val2017/000000067310.jpg  
 extracting: val2017/000000078748.jpg  
 extracting: val2017/000000407574.jpg  
 extracting: val2017/000000078266.jpg  
 extracting: val2017/000000483531.jpg  
 extracting: val2017/000000134856.jpg  
 extracting: val2017/000000133567.jpg  
 extracting: val2017/000000278848.jpg  
 extracting: val2017/000000236914.jpg  
 extracting: val2017/000000376365.jpg  
 extracting: val2017/000000341719.jpg  
 extracting: val2017/000000532481.jpg  
 extracting: val2017/000000407518.jpg  
 extracting: val2017/000000446651.jpg  
 extracting: val2017/000000475387.jpg  
 extracting: val2017/000000243199.jpg  
 extracting: val2017/000000255824.jpg  
 extracting: val2017/000000383621.jpg  
 extracting: val2017/000000017959.jpg  
 extracting: val2017/000000221281.jpg  
 extracting: val2017/000000076625.jpg  
 extracting: val2017/000000156278.jpg  
 extracting: val2017/000000439994.jpg  
 extracting: val2017/000000336232.jpg  
 extracting: val2017/000000342367.jpg  
 extracting: val2017/000000362520.jpg  
 extracting: val2017/000000213086.jpg  
 extracting: val2017/000000193348.jpg  
 extracting: val2017/000000222094.jpg  
 extracting: val2017/000000197528.jpg  
 extracting: val2017/000000282296.jpg  
 extracting: val2017/000000488710.jpg  
 extracting: val2017/000000565989.jpg  
 extracting: val2017/000000025181.jpg  
 extracting: val2017/000000135410.jpg  
 extracting: val2017/000000393226.jpg  
 extracting: val2017/000000450202.jpg  
 extracting: val2017/000000450075.jpg  
 extracting: val2017/000000025394.jpg  
 extracting: val2017/000000257370.jpg  
 extracting: val2017/000000191672.jpg  
 extracting: val2017/000000049810.jpg  
 extracting: val2017/000000031749.jpg  
 extracting: val2017/000000406417.jpg  
 extracting: val2017/000000573258.jpg  
 extracting: val2017/000000352900.jpg  
 extracting: val2017/000000343803.jpg  
 extracting: val2017/000000002923.jpg  
 extracting: val2017/000000373315.jpg  
 extracting: val2017/000000496854.jpg  
 extracting: val2017/000000474170.jpg  
 extracting: val2017/000000327780.jpg  
 extracting: val2017/000000414510.jpg  
 extracting: val2017/000000172649.jpg  
 extracting: val2017/000000445999.jpg  
 extracting: val2017/000000351609.jpg  
 extracting: val2017/000000512776.jpg  
 extracting: val2017/000000494188.jpg  
 extracting: val2017/000000057760.jpg  
 extracting: val2017/000000414170.jpg  
 extracting: val2017/000000478721.jpg  
 extracting: val2017/000000475150.jpg  
 extracting: val2017/000000541055.jpg  
 extracting: val2017/000000175251.jpg  
 extracting: val2017/000000049759.jpg  
 extracting: val2017/000000448810.jpg  
 extracting: val2017/000000491213.jpg  
 extracting: val2017/000000069356.jpg  
 extracting: val2017/000000242934.jpg  
 extracting: val2017/000000550939.jpg  
 extracting: val2017/000000326970.jpg  
 extracting: val2017/000000127263.jpg  
 extracting: val2017/000000100274.jpg  
 extracting: val2017/000000323571.jpg  
 extracting: val2017/000000152870.jpg  
 extracting: val2017/000000085911.jpg  
 extracting: val2017/000000134882.jpg  
 extracting: val2017/000000236426.jpg  
 extracting: val2017/000000527695.jpg  
 extracting: val2017/000000407002.jpg  
 extracting: val2017/000000426836.jpg  
 extracting: val2017/000000578967.jpg  
 extracting: val2017/000000552883.jpg  
 extracting: val2017/000000545219.jpg  
 extracting: val2017/000000548555.jpg  
 extracting: val2017/000000308545.jpg  
 extracting: val2017/000000485071.jpg  
 extracting: val2017/000000511398.jpg  
 extracting: val2017/000000417779.jpg  
 extracting: val2017/000000155051.jpg  
 extracting: val2017/000000535608.jpg  
 extracting: val2017/000000126107.jpg  
 extracting: val2017/000000084752.jpg  
 extracting: val2017/000000038576.jpg  
 extracting: val2017/000000270474.jpg  
 extracting: val2017/000000343524.jpg  
 extracting: val2017/000000570834.jpg  
 extracting: val2017/000000448263.jpg  
 extracting: val2017/000000004395.jpg  
 extracting: val2017/000000010707.jpg  
 extracting: val2017/000000082688.jpg  
 extracting: val2017/000000398028.jpg  
 extracting: val2017/000000453708.jpg  
 extracting: val2017/000000365098.jpg  
 extracting: val2017/000000172946.jpg  
 extracting: val2017/000000131556.jpg  
 extracting: val2017/000000023126.jpg  
 extracting: val2017/000000407614.jpg  
 extracting: val2017/000000087476.jpg  
 extracting: val2017/000000105923.jpg  
 extracting: val2017/000000545730.jpg  
 extracting: val2017/000000516316.jpg  
 extracting: val2017/000000108026.jpg  
 extracting: val2017/000000151962.jpg  
 extracting: val2017/000000548524.jpg  
 extracting: val2017/000000373353.jpg  
 extracting: val2017/000000508586.jpg  
 extracting: val2017/000000215072.jpg  
 extracting: val2017/000000365387.jpg  
 extracting: val2017/000000089556.jpg  
 extracting: val2017/000000111179.jpg  
 extracting: val2017/000000176778.jpg  
 extracting: val2017/000000017379.jpg  
 extracting: val2017/000000303499.jpg  
 extracting: val2017/000000119641.jpg  
 extracting: val2017/000000210032.jpg  
 extracting: val2017/000000492878.jpg  
 extracting: val2017/000000096493.jpg  
 extracting: val2017/000000430377.jpg  
 extracting: val2017/000000122745.jpg  
 extracting: val2017/000000307598.jpg  
 extracting: val2017/000000166391.jpg  
 extracting: val2017/000000173033.jpg  
 extracting: val2017/000000146498.jpg  
 extracting: val2017/000000581206.jpg  
 extracting: val2017/000000173044.jpg  
 extracting: val2017/000000079837.jpg  
 extracting: val2017/000000375469.jpg  
 extracting: val2017/000000290619.jpg  
 extracting: val2017/000000416256.jpg  
 extracting: val2017/000000070158.jpg  
 extracting: val2017/000000465836.jpg  
 extracting: val2017/000000051008.jpg  
 extracting: val2017/000000364126.jpg  
 extracting: val2017/000000502732.jpg  
 extracting: val2017/000000006012.jpg  
 extracting: val2017/000000242946.jpg  
 extracting: val2017/000000229747.jpg  
 extracting: val2017/000000110972.jpg  
 extracting: val2017/000000453302.jpg  
 extracting: val2017/000000206025.jpg  
 extracting: val2017/000000015517.jpg  
 extracting: val2017/000000528524.jpg  
 extracting: val2017/000000458045.jpg  
 extracting: val2017/000000303863.jpg  
 extracting: val2017/000000516916.jpg  
 extracting: val2017/000000449198.jpg  
 extracting: val2017/000000185250.jpg  
 extracting: val2017/000000187513.jpg  
 extracting: val2017/000000488664.jpg  
 extracting: val2017/000000274687.jpg  
 extracting: val2017/000000318455.jpg  
 extracting: val2017/000000533536.jpg  
 extracting: val2017/000000252216.jpg  
 extracting: val2017/000000328683.jpg  
 extracting: val2017/000000363072.jpg  
 extracting: val2017/000000289415.jpg  
 extracting: val2017/000000150726.jpg  
 extracting: val2017/000000573391.jpg  
 extracting: val2017/000000473869.jpg  
 extracting: val2017/000000365886.jpg  
 extracting: val2017/000000108495.jpg  
 extracting: val2017/000000245651.jpg  
 extracting: val2017/000000253386.jpg  
 extracting: val2017/000000271728.jpg  
 extracting: val2017/000000456292.jpg  
 extracting: val2017/000000532071.jpg  
 extracting: val2017/000000229358.jpg  
 extracting: val2017/000000351096.jpg  
 extracting: val2017/000000545826.jpg  
 extracting: val2017/000000532129.jpg  
 extracting: val2017/000000481582.jpg  
 extracting: val2017/000000287347.jpg  
 extracting: val2017/000000508639.jpg  
 extracting: val2017/000000304396.jpg  
 extracting: val2017/000000493284.jpg  
 extracting: val2017/000000308799.jpg  
 extracting: val2017/000000084650.jpg  
 extracting: val2017/000000408120.jpg  
 extracting: val2017/000000129416.jpg  
 extracting: val2017/000000356169.jpg  
 extracting: val2017/000000558213.jpg  
 extracting: val2017/000000084031.jpg  
 extracting: val2017/000000171611.jpg  
 extracting: val2017/000000276720.jpg  
 extracting: val2017/000000147338.jpg  
 extracting: val2017/000000221291.jpg  
 extracting: val2017/000000194216.jpg  
 extracting: val2017/000000543528.jpg  
 extracting: val2017/000000474039.jpg  
 extracting: val2017/000000447088.jpg  
 extracting: val2017/000000322163.jpg  
 extracting: val2017/000000234757.jpg  
 extracting: val2017/000000569030.jpg  
 extracting: val2017/000000350388.jpg  
 extracting: val2017/000000534639.jpg  
 extracting: val2017/000000352584.jpg  
 extracting: val2017/000000347544.jpg  
 extracting: val2017/000000292446.jpg  
 extracting: val2017/000000417465.jpg  
 extracting: val2017/000000462031.jpg  
 extracting: val2017/000000574520.jpg  
 extracting: val2017/000000466986.jpg  
 extracting: val2017/000000133343.jpg  
 extracting: val2017/000000106266.jpg  
 extracting: val2017/000000416170.jpg  
 extracting: val2017/000000095069.jpg  
 extracting: val2017/000000489305.jpg  
 extracting: val2017/000000223188.jpg  
 extracting: val2017/000000284106.jpg  
 extracting: val2017/000000379332.jpg  
 extracting: val2017/000000012667.jpg  
 extracting: val2017/000000275392.jpg  
 extracting: val2017/000000045728.jpg  
 extracting: val2017/000000201072.jpg  
 extracting: val2017/000000120584.jpg  
 extracting: val2017/000000023937.jpg  
 extracting: val2017/000000516601.jpg  
 extracting: val2017/000000275198.jpg  
 extracting: val2017/000000505942.jpg  
 extracting: val2017/000000521231.jpg  
 extracting: val2017/000000023023.jpg  
 extracting: val2017/000000369541.jpg  
 extracting: val2017/000000250766.jpg  
 extracting: val2017/000000276284.jpg  
 extracting: val2017/000000565776.jpg  
 extracting: val2017/000000299355.jpg  
 extracting: val2017/000000488270.jpg  
 extracting: val2017/000000088040.jpg  
 extracting: val2017/000000062353.jpg  
 extracting: val2017/000000157418.jpg  
 extracting: val2017/000000102707.jpg  
 extracting: val2017/000000405195.jpg  
 extracting: val2017/000000177935.jpg  
 extracting: val2017/000000361180.jpg  
 extracting: val2017/000000278973.jpg  
 extracting: val2017/000000426376.jpg  
 extracting: val2017/000000572408.jpg  
 extracting: val2017/000000424162.jpg  
 extracting: val2017/000000251140.jpg  
 extracting: val2017/000000205282.jpg  
 extracting: val2017/000000163155.jpg  
 extracting: val2017/000000461573.jpg  
 extracting: val2017/000000349837.jpg  
 extracting: val2017/000000084362.jpg  
 extracting: val2017/000000132375.jpg  
 extracting: val2017/000000085157.jpg  
 extracting: val2017/000000391290.jpg  
 extracting: val2017/000000564280.jpg  
 extracting: val2017/000000492992.jpg  
 extracting: val2017/000000568814.jpg  
 extracting: val2017/000000423123.jpg  
 extracting: val2017/000000247806.jpg  
 extracting: val2017/000000334399.jpg  
 extracting: val2017/000000106048.jpg  
 extracting: val2017/000000332901.jpg  
 extracting: val2017/000000270244.jpg  
 extracting: val2017/000000150930.jpg  
 extracting: val2017/000000356428.jpg  
 extracting: val2017/000000151657.jpg  
 extracting: val2017/000000223789.jpg  
 extracting: val2017/000000222863.jpg  
 extracting: val2017/000000385997.jpg  
 extracting: val2017/000000312489.jpg  
 extracting: val2017/000000064499.jpg  
 extracting: val2017/000000485895.jpg  
 extracting: val2017/000000007991.jpg  
 extracting: val2017/000000227478.jpg  
 extracting: val2017/000000334483.jpg  
 extracting: val2017/000000313182.jpg  
 extracting: val2017/000000247917.jpg  
 extracting: val2017/000000386277.jpg  
 extracting: val2017/000000273642.jpg  
 extracting: val2017/000000024610.jpg  
 extracting: val2017/000000008844.jpg  
 extracting: val2017/000000107226.jpg  
 extracting: val2017/000000436738.jpg  
 extracting: val2017/000000553788.jpg  
 extracting: val2017/000000033104.jpg  
 extracting: val2017/000000039956.jpg  
 extracting: val2017/000000557884.jpg  
 extracting: val2017/000000426297.jpg  
 extracting: val2017/000000338718.jpg  
 extracting: val2017/000000456496.jpg  
 extracting: val2017/000000216419.jpg  
 extracting: val2017/000000157213.jpg  
 extracting: val2017/000000232649.jpg  
 extracting: val2017/000000172571.jpg  
 extracting: val2017/000000141597.jpg  
 extracting: val2017/000000076547.jpg  
 extracting: val2017/000000474881.jpg  
 extracting: val2017/000000329323.jpg  
 extracting: val2017/000000162858.jpg  
 extracting: val2017/000000343496.jpg  
 extracting: val2017/000000036539.jpg  
 extracting: val2017/000000170116.jpg  
 extracting: val2017/000000565607.jpg  
 extracting: val2017/000000244496.jpg  
 extracting: val2017/000000143572.jpg  
 extracting: val2017/000000210273.jpg  
 extracting: val2017/000000133778.jpg  
 extracting: val2017/000000094852.jpg  
 extracting: val2017/000000172856.jpg  
 extracting: val2017/000000463647.jpg  
 extracting: val2017/000000520324.jpg  
 extracting: val2017/000000226802.jpg  
 extracting: val2017/000000432085.jpg  
 extracting: val2017/000000532761.jpg  
 extracting: val2017/000000499622.jpg  
 extracting: val2017/000000563604.jpg  
 extracting: val2017/000000438269.jpg  
 extracting: val2017/000000409211.jpg  
 extracting: val2017/000000283037.jpg  
 extracting: val2017/000000551815.jpg  
 extracting: val2017/000000189226.jpg  
 extracting: val2017/000000258793.jpg  
 extracting: val2017/000000206411.jpg  
 extracting: val2017/000000522940.jpg  
 extracting: val2017/000000465806.jpg  
 extracting: val2017/000000414340.jpg  
 extracting: val2017/000000483667.jpg  
 extracting: val2017/000000354829.jpg  
 extracting: val2017/000000013659.jpg  
 extracting: val2017/000000196141.jpg  
 extracting: val2017/000000390902.jpg  
 extracting: val2017/000000221693.jpg  
 extracting: val2017/000000305609.jpg  
 extracting: val2017/000000565153.jpg  
 extracting: val2017/000000404805.jpg  
 extracting: val2017/000000060090.jpg  
 extracting: val2017/000000530820.jpg  
 extracting: val2017/000000230450.jpg  
 extracting: val2017/000000353180.jpg  
 extracting: val2017/000000118515.jpg  
 extracting: val2017/000000283520.jpg  
 extracting: val2017/000000410712.jpg  
 extracting: val2017/000000297353.jpg  
 extracting: val2017/000000331317.jpg  
 extracting: val2017/000000128051.jpg  
 extracting: val2017/000000579635.jpg  
 extracting: val2017/000000227482.jpg  
 extracting: val2017/000000185409.jpg  
 extracting: val2017/000000099182.jpg  
 extracting: val2017/000000122927.jpg  
 extracting: val2017/000000255718.jpg  
 extracting: val2017/000000552371.jpg  
 extracting: val2017/000000470952.jpg  
 extracting: val2017/000000039405.jpg  
 extracting: val2017/000000016010.jpg  
 extracting: val2017/000000470173.jpg  
 extracting: val2017/000000459437.jpg  
 extracting: val2017/000000045472.jpg  
 extracting: val2017/000000277020.jpg  
 extracting: val2017/000000282912.jpg  
 extracting: val2017/000000314034.jpg  
 extracting: val2017/000000148730.jpg  
 extracting: val2017/000000101068.jpg  
 extracting: val2017/000000407960.jpg  
 extracting: val2017/000000022396.jpg  
 extracting: val2017/000000541634.jpg  
 extracting: val2017/000000288762.jpg  
 extracting: val2017/000000439426.jpg  
 extracting: val2017/000000112110.jpg  
 extracting: val2017/000000022705.jpg  
 extracting: val2017/000000038829.jpg  
 extracting: val2017/000000361730.jpg  
 extracting: val2017/000000382030.jpg  
 extracting: val2017/000000402783.jpg  
 extracting: val2017/000000413247.jpg  
 extracting: val2017/000000578792.jpg  
 extracting: val2017/000000126226.jpg  
 extracting: val2017/000000372307.jpg  
 extracting: val2017/000000226984.jpg  
 extracting: val2017/000000295231.jpg  
 extracting: val2017/000000146358.jpg  
 extracting: val2017/000000455981.jpg  
 extracting: val2017/000000147518.jpg  
 extracting: val2017/000000090155.jpg  
 extracting: val2017/000000007795.jpg  
 extracting: val2017/000000468245.jpg  
 extracting: val2017/000000307074.jpg  
 extracting: val2017/000000082696.jpg  
 extracting: val2017/000000545958.jpg  
 extracting: val2017/000000411774.jpg  
 extracting: val2017/000000166747.jpg  
 extracting: val2017/000000308466.jpg  
 extracting: val2017/000000021167.jpg  
 extracting: val2017/000000402473.jpg  
 extracting: val2017/000000376625.jpg  
 extracting: val2017/000000347174.jpg  
 extracting: val2017/000000530146.jpg  
 extracting: val2017/000000430871.jpg  
 extracting: val2017/000000300913.jpg  
 extracting: val2017/000000291861.jpg  
 extracting: val2017/000000105912.jpg  
 extracting: val2017/000000489339.jpg  
 extracting: val2017/000000045090.jpg  
 extracting: val2017/000000485424.jpg  
 extracting: val2017/000000006723.jpg  
 extracting: val2017/000000431896.jpg  
 extracting: val2017/000000491497.jpg  
 extracting: val2017/000000402992.jpg  
 extracting: val2017/000000135872.jpg  
 extracting: val2017/000000098716.jpg  
 extracting: val2017/000000430875.jpg  
 extracting: val2017/000000414385.jpg  
 extracting: val2017/000000447917.jpg  
 extracting: val2017/000000362682.jpg  
 extracting: val2017/000000386210.jpg  
 extracting: val2017/000000110282.jpg  
 extracting: val2017/000000315001.jpg  
 extracting: val2017/000000354753.jpg  
 extracting: val2017/000000018770.jpg  
 extracting: val2017/000000005001.jpg  
 extracting: val2017/000000323355.jpg  
 extracting: val2017/000000427649.jpg  
 extracting: val2017/000000327617.jpg  
 extracting: val2017/000000187745.jpg  
 extracting: val2017/000000235778.jpg  
 extracting: val2017/000000352760.jpg  
 extracting: val2017/000000559707.jpg  
 extracting: val2017/000000059920.jpg  
 extracting: val2017/000000089880.jpg  
 extracting: val2017/000000288882.jpg  
 extracting: val2017/000000135670.jpg  
 extracting: val2017/000000470773.jpg  
 extracting: val2017/000000406570.jpg  
 extracting: val2017/000000410510.jpg  
 extracting: val2017/000000430073.jpg  
 extracting: val2017/000000153529.jpg  
 extracting: val2017/000000031217.jpg  
 extracting: val2017/000000190753.jpg  
 extracting: val2017/000000144798.jpg  
 extracting: val2017/000000430286.jpg  
 extracting: val2017/000000153299.jpg  
 extracting: val2017/000000334521.jpg  
 extracting: val2017/000000005477.jpg  
 extracting: val2017/000000378515.jpg  
 extracting: val2017/000000357501.jpg  
 extracting: val2017/000000131444.jpg  
 extracting: val2017/000000194746.jpg  
 extracting: val2017/000000290592.jpg  
 extracting: val2017/000000073118.jpg  
 extracting: val2017/000000131431.jpg  
 extracting: val2017/000000537270.jpg  
 extracting: val2017/000000297681.jpg  
 extracting: val2017/000000482275.jpg  
 extracting: val2017/000000125211.jpg  
 extracting: val2017/000000313454.jpg  
 extracting: val2017/000000566282.jpg  
 extracting: val2017/000000221017.jpg  
 extracting: val2017/000000117744.jpg  
 extracting: val2017/000000490413.jpg  
 extracting: val2017/000000205834.jpg  
 extracting: val2017/000000403565.jpg  
 extracting: val2017/000000237928.jpg  
 extracting: val2017/000000128598.jpg  
 extracting: val2017/000000448256.jpg  
 extracting: val2017/000000517069.jpg  
 extracting: val2017/000000163562.jpg  
 extracting: val2017/000000547336.jpg  
 extracting: val2017/000000194875.jpg  
 extracting: val2017/000000290843.jpg  
 extracting: val2017/000000116362.jpg  
 extracting: val2017/000000285349.jpg  
 extracting: val2017/000000293245.jpg  
 extracting: val2017/000000343561.jpg  
 extracting: val2017/000000530457.jpg  
 extracting: val2017/000000148620.jpg  
 extracting: val2017/000000512657.jpg  
 extracting: val2017/000000526256.jpg  
 extracting: val2017/000000453001.jpg  
 extracting: val2017/000000442463.jpg  
 extracting: val2017/000000196754.jpg  
 extracting: val2017/000000492758.jpg  
 extracting: val2017/000000459467.jpg  
 extracting: val2017/000000284743.jpg  
 extracting: val2017/000000356505.jpg  
 extracting: val2017/000000136466.jpg  
 extracting: val2017/000000294162.jpg  
 extracting: val2017/000000073533.jpg  
 extracting: val2017/000000535253.jpg  
 extracting: val2017/000000288685.jpg  
 extracting: val2017/000000577149.jpg  
 extracting: val2017/000000076731.jpg  
 extracting: val2017/000000223130.jpg  
 extracting: val2017/000000528578.jpg  
 extracting: val2017/000000580757.jpg  
 extracting: val2017/000000033854.jpg  
 extracting: val2017/000000286182.jpg  
 extracting: val2017/000000494863.jpg  
 extracting: val2017/000000305309.jpg  
 extracting: val2017/000000185599.jpg  
 extracting: val2017/000000107554.jpg  
 extracting: val2017/000000356125.jpg  
 extracting: val2017/000000015278.jpg  
 extracting: val2017/000000314251.jpg  
 extracting: val2017/000000238039.jpg  
 extracting: val2017/000000186873.jpg  
 extracting: val2017/000000052413.jpg  
 extracting: val2017/000000044590.jpg  
 extracting: val2017/000000361551.jpg  
 extracting: val2017/000000419201.jpg  
 extracting: val2017/000000568213.jpg  
 extracting: val2017/000000480212.jpg  
 extracting: val2017/000000281414.jpg  
 extracting: val2017/000000210299.jpg  
 extracting: val2017/000000080949.jpg  
 extracting: val2017/000000001675.jpg  
 extracting: val2017/000000141671.jpg  
 extracting: val2017/000000217948.jpg  
 extracting: val2017/000000386912.jpg  
 extracting: val2017/000000128654.jpg  
 extracting: val2017/000000509403.jpg  
 extracting: val2017/000000415194.jpg  
 extracting: val2017/000000509451.jpg  
 extracting: val2017/000000122606.jpg  
 extracting: val2017/000000400082.jpg  
 extracting: val2017/000000154718.jpg  
 extracting: val2017/000000057149.jpg  
 extracting: val2017/000000471789.jpg  
 extracting: val2017/000000401862.jpg  
 extracting: val2017/000000346707.jpg  
 extracting: val2017/000000491366.jpg  
 extracting: val2017/000000468332.jpg  
 extracting: val2017/000000345941.jpg  
 extracting: val2017/000000551794.jpg  
 extracting: val2017/000000297830.jpg  
 extracting: val2017/000000226592.jpg  
 extracting: val2017/000000046463.jpg  
 extracting: val2017/000000419098.jpg  
 extracting: val2017/000000122166.jpg  
 extracting: val2017/000000340451.jpg  
 extracting: val2017/000000143556.jpg  
 extracting: val2017/000000569825.jpg  
 extracting: val2017/000000520659.jpg  
 extracting: val2017/000000435205.jpg  
 extracting: val2017/000000467848.jpg  
 extracting: val2017/000000242060.jpg  
 extracting: val2017/000000007784.jpg  
 extracting: val2017/000000267537.jpg  
 extracting: val2017/000000172330.jpg  
 extracting: val2017/000000446117.jpg  
 extracting: val2017/000000445602.jpg  
 extracting: val2017/000000038070.jpg  
 extracting: val2017/000000281409.jpg  
 extracting: val2017/000000153527.jpg  
 extracting: val2017/000000410612.jpg  
 extracting: val2017/000000442993.jpg  
 extracting: val2017/000000319721.jpg  
 extracting: val2017/000000213830.jpg  
 extracting: val2017/000000533206.jpg  
 extracting: val2017/000000475484.jpg  
 extracting: val2017/000000117645.jpg  
 extracting: val2017/000000310862.jpg  
 extracting: val2017/000000504074.jpg  
 extracting: val2017/000000130579.jpg  
 extracting: val2017/000000289741.jpg  
 extracting: val2017/000000036936.jpg  
 extracting: val2017/000000441553.jpg  
 extracting: val2017/000000326627.jpg  
 extracting: val2017/000000029675.jpg  
 extracting: val2017/000000451144.jpg  
 extracting: val2017/000000341058.jpg  
 extracting: val2017/000000005586.jpg  
 extracting: val2017/000000092091.jpg  
 extracting: val2017/000000147745.jpg  
 extracting: val2017/000000119233.jpg  
 extracting: val2017/000000374727.jpg  
 extracting: val2017/000000100624.jpg  
 extracting: val2017/000000514979.jpg  
 extracting: val2017/000000344059.jpg  
 extracting: val2017/000000183049.jpg  
 extracting: val2017/000000394275.jpg  
 extracting: val2017/000000350054.jpg  
 extracting: val2017/000000551780.jpg  
 extracting: val2017/000000397303.jpg  
 extracting: val2017/000000041990.jpg  
 extracting: val2017/000000351810.jpg  
 extracting: val2017/000000315450.jpg  
 extracting: val2017/000000345385.jpg  
 extracting: val2017/000000513041.jpg  
 extracting: val2017/000000320554.jpg  
 extracting: val2017/000000283113.jpg  
 extracting: val2017/000000167067.jpg  
 extracting: val2017/000000489014.jpg  
 extracting: val2017/000000293324.jpg  
 extracting: val2017/000000087742.jpg  
 extracting: val2017/000000016439.jpg  
 extracting: val2017/000000166166.jpg  
 extracting: val2017/000000129492.jpg  
 extracting: val2017/000000125405.jpg  
 extracting: val2017/000000579307.jpg  
 extracting: val2017/000000412531.jpg  
 extracting: val2017/000000193674.jpg  
 extracting: val2017/000000252776.jpg  
 extracting: val2017/000000020059.jpg  
 extracting: val2017/000000500478.jpg  
 extracting: val2017/000000222735.jpg  
 extracting: val2017/000000039769.jpg  
 extracting: val2017/000000248334.jpg  
 extracting: val2017/000000436883.jpg  
 extracting: val2017/000000396729.jpg  
 extracting: val2017/000000507015.jpg  
 extracting: val2017/000000040036.jpg  
 extracting: val2017/000000543043.jpg  
 extracting: val2017/000000068078.jpg  
 extracting: val2017/000000280930.jpg  
 extracting: val2017/000000440336.jpg  
 extracting: val2017/000000277197.jpg  
 extracting: val2017/000000366225.jpg  
 extracting: val2017/000000316054.jpg  
 extracting: val2017/000000286994.jpg  
 extracting: val2017/000000409542.jpg  
 extracting: val2017/000000264335.jpg  
 extracting: val2017/000000067896.jpg  
 extracting: val2017/000000273712.jpg  
 extracting: val2017/000000092177.jpg  
 extracting: val2017/000000421455.jpg  
 extracting: val2017/000000394206.jpg  
 extracting: val2017/000000006818.jpg  
 extracting: val2017/000000006614.jpg  
 extracting: val2017/000000029596.jpg  
 extracting: val2017/000000551439.jpg  
 extracting: val2017/000000509824.jpg  
 extracting: val2017/000000531036.jpg  
 extracting: val2017/000000553094.jpg  
 extracting: val2017/000000382696.jpg  
 extracting: val2017/000000111207.jpg  
 extracting: val2017/000000176901.jpg  
 extracting: val2017/000000203488.jpg  
 extracting: val2017/000000338532.jpg  
 extracting: val2017/000000462904.jpg  
 extracting: val2017/000000469828.jpg  
 extracting: val2017/000000434230.jpg  
 extracting: val2017/000000136334.jpg  
 extracting: val2017/000000267191.jpg  
 extracting: val2017/000000193162.jpg  
 extracting: val2017/000000136915.jpg  
 extracting: val2017/000000220732.jpg  
 extracting: val2017/000000079188.jpg  
 extracting: val2017/000000451693.jpg  
 extracting: val2017/000000440171.jpg  
 extracting: val2017/000000045550.jpg  
 extracting: val2017/000000269942.jpg  
 extracting: val2017/000000293044.jpg  
 extracting: val2017/000000003553.jpg  
 extracting: val2017/000000357748.jpg  
 extracting: val2017/000000300659.jpg  
 extracting: val2017/000000563470.jpg  
 extracting: val2017/000000468954.jpg  
 extracting: val2017/000000081061.jpg  
 extracting: val2017/000000520910.jpg  
 extracting: val2017/000000568195.jpg  
 extracting: val2017/000000388927.jpg  
 extracting: val2017/000000357742.jpg  
 extracting: val2017/000000042296.jpg  
 extracting: val2017/000000482978.jpg  
 extracting: val2017/000000472375.jpg  
 extracting: val2017/000000363840.jpg  
 extracting: val2017/000000282046.jpg  
 extracting: val2017/000000400573.jpg  
 extracting: val2017/000000352618.jpg  
 extracting: val2017/000000427655.jpg  
 extracting: val2017/000000325527.jpg  
 extracting: val2017/000000523811.jpg  
 extracting: val2017/000000189820.jpg  
 extracting: val2017/000000439715.jpg  
 extracting: val2017/000000000785.jpg  
 extracting: val2017/000000512476.jpg  
 extracting: val2017/000000437331.jpg  
 extracting: val2017/000000325347.jpg  
 extracting: val2017/000000229659.jpg  
 extracting: val2017/000000225670.jpg  
 extracting: val2017/000000154087.jpg  
 extracting: val2017/000000232538.jpg  
 extracting: val2017/000000144333.jpg  
 extracting: val2017/000000300039.jpg  
 extracting: val2017/000000117719.jpg  
 extracting: val2017/000000297084.jpg  
 extracting: val2017/000000553669.jpg  
 extracting: val2017/000000409475.jpg  
 extracting: val2017/000000554579.jpg  
 extracting: val2017/000000398377.jpg  
 extracting: val2017/000000577182.jpg  
 extracting: val2017/000000080274.jpg  
 extracting: val2017/000000235241.jpg  
 extracting: val2017/000000359540.jpg  
 extracting: val2017/000000252716.jpg  
 extracting: val2017/000000562243.jpg  
 extracting: val2017/000000335450.jpg  
 extracting: val2017/000000128675.jpg  
 extracting: val2017/000000183648.jpg  
 extracting: val2017/000000437514.jpg  
 extracting: val2017/000000375763.jpg  
 extracting: val2017/000000357060.jpg  
 extracting: val2017/000000403353.jpg  
 extracting: val2017/000000507473.jpg  
 extracting: val2017/000000001353.jpg  
 extracting: val2017/000000153782.jpg  
 extracting: val2017/000000051610.jpg  
 extracting: val2017/000000210915.jpg  
 extracting: val2017/000000460494.jpg  
 extracting: val2017/000000396526.jpg  
 extracting: val2017/000000344611.jpg  
 extracting: val2017/000000160012.jpg  
 extracting: val2017/000000467315.jpg  
 extracting: val2017/000000535156.jpg  
 extracting: val2017/000000204329.jpg  
 extracting: val2017/000000084477.jpg  
 extracting: val2017/000000455448.jpg  
 extracting: val2017/000000452084.jpg  
 extracting: val2017/000000234607.jpg  
 extracting: val2017/000000301376.jpg  
 extracting: val2017/000000425906.jpg  
 extracting: val2017/000000151857.jpg  
 extracting: val2017/000000060449.jpg  
 extracting: val2017/000000145781.jpg  
 extracting: val2017/000000532493.jpg  
 extracting: val2017/000000298697.jpg  
 extracting: val2017/000000166478.jpg  
 extracting: val2017/000000551804.jpg  
 extracting: val2017/000000515828.jpg  
 extracting: val2017/000000463842.jpg  
 extracting: val2017/000000113867.jpg  
 extracting: val2017/000000485802.jpg  
 extracting: val2017/000000189310.jpg  
 extracting: val2017/000000519569.jpg  
 extracting: val2017/000000216739.jpg  
 extracting: val2017/000000098497.jpg  
 extracting: val2017/000000370478.jpg  
 extracting: val2017/000000121242.jpg  
 extracting: val2017/000000498286.jpg  
 extracting: val2017/000000136715.jpg  
 extracting: val2017/000000343218.jpg  
 extracting: val2017/000000348243.jpg  
 extracting: val2017/000000508917.jpg  
 extracting: val2017/000000058705.jpg  
 extracting: val2017/000000525600.jpg  
 extracting: val2017/000000347370.jpg  
 extracting: val2017/000000401244.jpg  
 extracting: val2017/000000333069.jpg  
 extracting: val2017/000000527215.jpg  
 extracting: val2017/000000199395.jpg  
 extracting: val2017/000000574810.jpg  
 extracting: val2017/000000273711.jpg  
 extracting: val2017/000000159282.jpg  
 extracting: val2017/000000576052.jpg  
 extracting: val2017/000000017182.jpg  
 extracting: val2017/000000276285.jpg  
 extracting: val2017/000000047769.jpg  
 extracting: val2017/000000513484.jpg  
 extracting: val2017/000000077460.jpg  
 extracting: val2017/000000136355.jpg  
 extracting: val2017/000000006954.jpg  
 extracting: val2017/000000115245.jpg  
 extracting: val2017/000000345466.jpg  
 extracting: val2017/000000302536.jpg  
 extracting: val2017/000000088951.jpg  
 extracting: val2017/000000044195.jpg  
 extracting: val2017/000000546626.jpg  
 extracting: val2017/000000009448.jpg  
 extracting: val2017/000000205324.jpg  
 extracting: val2017/000000061471.jpg  
 extracting: val2017/000000474786.jpg  
 extracting: val2017/000000462643.jpg  
 extracting: val2017/000000450399.jpg  
 extracting: val2017/000000410735.jpg  
 extracting: val2017/000000436551.jpg  
 extracting: val2017/000000232489.jpg  
 extracting: val2017/000000437205.jpg  
 extracting: val2017/000000575357.jpg  
 extracting: val2017/000000128699.jpg  
 extracting: val2017/000000017031.jpg  
 extracting: val2017/000000313034.jpg  
 extracting: val2017/000000457848.jpg  
 extracting: val2017/000000391375.jpg  
 extracting: val2017/000000535094.jpg  
 extracting: val2017/000000182162.jpg  
 extracting: val2017/000000095843.jpg  
 extracting: val2017/000000020247.jpg  
 extracting: val2017/000000144300.jpg  
 extracting: val2017/000000100283.jpg  
 extracting: val2017/000000417249.jpg  
 extracting: val2017/000000532855.jpg  
 extracting: val2017/000000433915.jpg  
 extracting: val2017/000000477288.jpg  
 extracting: val2017/000000210502.jpg  
 extracting: val2017/000000000776.jpg  
 extracting: val2017/000000166277.jpg  
 extracting: val2017/000000133631.jpg  
 extracting: val2017/000000085665.jpg  
 extracting: val2017/000000378284.jpg  
 extracting: val2017/000000190853.jpg  
 extracting: val2017/000000397354.jpg  
 extracting: val2017/000000353518.jpg  
 extracting: val2017/000000356427.jpg  
 extracting: val2017/000000477227.jpg  
 extracting: val2017/000000033114.jpg  
 extracting: val2017/000000565045.jpg  
 extracting: val2017/000000245102.jpg  
 extracting: val2017/000000296657.jpg  
 extracting: val2017/000000556158.jpg  
 extracting: val2017/000000554595.jpg  
 extracting: val2017/000000546717.jpg  
 extracting: val2017/000000557916.jpg  
 extracting: val2017/000000486040.jpg  
 extracting: val2017/000000095862.jpg  
 extracting: val2017/000000433374.jpg  
 extracting: val2017/000000184762.jpg  
 extracting: val2017/000000326541.jpg  
 extracting: val2017/000000113235.jpg  
 extracting: val2017/000000503855.jpg  
 extracting: val2017/000000044068.jpg  
 extracting: val2017/000000522156.jpg  
 extracting: val2017/000000338219.jpg  
 extracting: val2017/000000309173.jpg  
 extracting: val2017/000000416330.jpg  
 extracting: val2017/000000186042.jpg  
 extracting: val2017/000000574297.jpg  
 extracting: val2017/000000431693.jpg  
 extracting: val2017/000000060347.jpg  
 extracting: val2017/000000022192.jpg  
 extracting: val2017/000000566524.jpg  
 extracting: val2017/000000560312.jpg  
 extracting: val2017/000000364636.jpg  
 extracting: val2017/000000344100.jpg  
 extracting: val2017/000000537506.jpg  
 extracting: val2017/000000373382.jpg  
 extracting: val2017/000000398438.jpg  
 extracting: val2017/000000357459.jpg  
 extracting: val2017/000000528399.jpg  
 extracting: val2017/000000368038.jpg  
 extracting: val2017/000000575815.jpg  
 extracting: val2017/000000183965.jpg  
 extracting: val2017/000000014380.jpg  
 extracting: val2017/000000189213.jpg  
 extracting: val2017/000000148957.jpg  
 extracting: val2017/000000489842.jpg  
 extracting: val2017/000000085329.jpg  
 extracting: val2017/000000445834.jpg  
 extracting: val2017/000000047571.jpg  
 extracting: val2017/000000371472.jpg  
 extracting: val2017/000000232244.jpg  
 extracting: val2017/000000279145.jpg  
 extracting: val2017/000000324158.jpg  
 extracting: val2017/000000250901.jpg  
 extracting: val2017/000000418062.jpg  
 extracting: val2017/000000416269.jpg  
 extracting: val2017/000000312340.jpg  
 extracting: val2017/000000228771.jpg  
 extracting: val2017/000000524108.jpg  
 extracting: val2017/000000356094.jpg  
 extracting: val2017/000000553776.jpg  
 extracting: val2017/000000414133.jpg  
 extracting: val2017/000000579818.jpg  
 extracting: val2017/000000356387.jpg  
 extracting: val2017/000000269121.jpg  
 extracting: val2017/000000222458.jpg  
 extracting: val2017/000000537812.jpg  
 extracting: val2017/000000429598.jpg  
 extracting: val2017/000000025986.jpg  
 extracting: val2017/000000097022.jpg  
 extracting: val2017/000000362716.jpg  
 extracting: val2017/000000161875.jpg  
 extracting: val2017/000000028993.jpg  
 extracting: val2017/000000382743.jpg  
 extracting: val2017/000000290248.jpg  
 extracting: val2017/000000576031.jpg  
 extracting: val2017/000000273420.jpg  
 extracting: val2017/000000146667.jpg  
 extracting: val2017/000000369370.jpg  
 extracting: val2017/000000402720.jpg  
 extracting: val2017/000000056545.jpg  
 extracting: val2017/000000082846.jpg  
 extracting: val2017/000000454750.jpg  
 extracting: val2017/000000295478.jpg  
 extracting: val2017/000000194724.jpg  
 extracting: val2017/000000139684.jpg  
 extracting: val2017/000000451435.jpg  
 extracting: val2017/000000032901.jpg  
 extracting: val2017/000000580410.jpg  
 extracting: val2017/000000579070.jpg  
 extracting: val2017/000000355677.jpg  
 extracting: val2017/000000393093.jpg  
 extracting: val2017/000000370270.jpg  
 extracting: val2017/000000155179.jpg  
 extracting: val2017/000000256518.jpg  
 extracting: val2017/000000048555.jpg  
 extracting: val2017/000000119995.jpg  
 extracting: val2017/000000512248.jpg  
 extracting: val2017/000000038678.jpg  
 extracting: val2017/000000135673.jpg  
 extracting: val2017/000000498857.jpg  
 extracting: val2017/000000166642.jpg  
 extracting: val2017/000000542625.jpg  
 extracting: val2017/000000534601.jpg  
 extracting: val2017/000000255401.jpg  
 extracting: val2017/000000097278.jpg  
 extracting: val2017/000000291490.jpg  
 extracting: val2017/000000537964.jpg  
 extracting: val2017/000000369812.jpg  
 extracting: val2017/000000459500.jpg  
 extracting: val2017/000000322211.jpg  
 extracting: val2017/000000370208.jpg  
 extracting: val2017/000000550691.jpg  
 extracting: val2017/000000226130.jpg  
 extracting: val2017/000000212800.jpg  
 extracting: val2017/000000093353.jpg  
 extracting: val2017/000000161925.jpg  
 extracting: val2017/000000342006.jpg  
 extracting: val2017/000000128148.jpg  
 extracting: val2017/000000396200.jpg  
 extracting: val2017/000000396580.jpg  
 extracting: val2017/000000450303.jpg  
 extracting: val2017/000000463618.jpg  
 extracting: val2017/000000491613.jpg  
 extracting: val2017/000000433204.jpg  
 extracting: val2017/000000491008.jpg  
 extracting: val2017/000000152740.jpg  
 extracting: val2017/000000119445.jpg  
 extracting: val2017/000000089648.jpg  
 extracting: val2017/000000061268.jpg  
 extracting: val2017/000000570169.jpg  
 extracting: val2017/000000168593.jpg  
 extracting: val2017/000000526103.jpg  
 extracting: val2017/000000329614.jpg  
 extracting: val2017/000000079229.jpg  
 extracting: val2017/000000529148.jpg  
 extracting: val2017/000000034452.jpg  
 extracting: val2017/000000341196.jpg  
 extracting: val2017/000000457559.jpg  
 extracting: val2017/000000210394.jpg  
 extracting: val2017/000000471023.jpg  
 extracting: val2017/000000181753.jpg  
 extracting: val2017/000000497599.jpg  
 extracting: val2017/000000384513.jpg  
 extracting: val2017/000000559956.jpg  
 extracting: val2017/000000149622.jpg  
 extracting: val2017/000000529762.jpg  
 extracting: val2017/000000119516.jpg  
 extracting: val2017/000000295138.jpg  
 extracting: val2017/000000515579.jpg  
 extracting: val2017/000000559842.jpg  
 extracting: val2017/000000439623.jpg  
 extracting: val2017/000000557172.jpg  
 extracting: val2017/000000284623.jpg  
 extracting: val2017/000000277584.jpg  
 extracting: val2017/000000476514.jpg  
 extracting: val2017/000000463690.jpg  
 extracting: val2017/000000330369.jpg  
 extracting: val2017/000000116825.jpg  
 extracting: val2017/000000505451.jpg  
 extracting: val2017/000000070048.jpg  
 extracting: val2017/000000565877.jpg  
 extracting: val2017/000000220764.jpg  
 extracting: val2017/000000482585.jpg  
 extracting: val2017/000000468925.jpg  
 extracting: val2017/000000364102.jpg  
 extracting: val2017/000000407868.jpg  
 extracting: val2017/000000370042.jpg  
 extracting: val2017/000000581615.jpg  
 extracting: val2017/000000311081.jpg  
 extracting: val2017/000000502229.jpg  
 extracting: val2017/000000425227.jpg  
 extracting: val2017/000000157847.jpg  
 extracting: val2017/000000376310.jpg  
 extracting: val2017/000000170595.jpg  
 extracting: val2017/000000226171.jpg  
 extracting: val2017/000000082765.jpg  
 extracting: val2017/000000005992.jpg  
 extracting: val2017/000000435299.jpg  
 extracting: val2017/000000266206.jpg  
 extracting: val2017/000000121744.jpg  
 extracting: val2017/000000216497.jpg  
 extracting: val2017/000000425226.jpg  
 extracting: val2017/000000402519.jpg  
 extracting: val2017/000000326462.jpg  
 extracting: val2017/000000094326.jpg  
 extracting: val2017/000000549674.jpg  
 extracting: val2017/000000163951.jpg  
 extracting: val2017/000000455555.jpg  
 extracting: val2017/000000575205.jpg  
 extracting: val2017/000000502336.jpg  
 extracting: val2017/000000526197.jpg  
 extracting: val2017/000000504389.jpg  
 extracting: val2017/000000138550.jpg  
 extracting: val2017/000000255965.jpg  
 extracting: val2017/000000405306.jpg  
 extracting: val2017/000000199681.jpg  
 extracting: val2017/000000286660.jpg  
 extracting: val2017/000000300341.jpg  
 extracting: val2017/000000325483.jpg  
 extracting: val2017/000000187144.jpg  
 extracting: val2017/000000281929.jpg  
 extracting: val2017/000000451155.jpg  
 extracting: val2017/000000313562.jpg  
 extracting: val2017/000000231549.jpg  
 extracting: val2017/000000038825.jpg  
 extracting: val2017/000000259571.jpg  
 extracting: val2017/000000494913.jpg  
 extracting: val2017/000000213935.jpg  
 extracting: val2017/000000203864.jpg  
 extracting: val2017/000000334530.jpg  
 extracting: val2017/000000372718.jpg  
 extracting: val2017/000000356968.jpg  
 extracting: val2017/000000416837.jpg  
 extracting: val2017/000000514540.jpg  
 extracting: val2017/000000457884.jpg  
 extracting: val2017/000000511321.jpg  
 extracting: val2017/000000095899.jpg  
 extracting: val2017/000000064868.jpg  
 extracting: val2017/000000482100.jpg  
 extracting: val2017/000000442456.jpg  
 extracting: val2017/000000308328.jpg  
 extracting: val2017/000000528705.jpg  
 extracting: val2017/000000512929.jpg  
 extracting: val2017/000000569972.jpg  
 extracting: val2017/000000023230.jpg  
 extracting: val2017/000000319534.jpg  
 extracting: val2017/000000167898.jpg  
 extracting: val2017/000000139871.jpg  
 extracting: val2017/000000363875.jpg  
 extracting: val2017/000000017207.jpg  
 extracting: val2017/000000384670.jpg  
 extracting: val2017/000000489091.jpg  
 extracting: val2017/000000514797.jpg  
 extracting: val2017/000000274708.jpg  
 extracting: val2017/000000342971.jpg  
 extracting: val2017/000000126592.jpg  
 extracting: val2017/000000393282.jpg  
 extracting: val2017/000000150265.jpg  
 extracting: val2017/000000400922.jpg  
 extracting: val2017/000000050943.jpg  
 extracting: val2017/000000002532.jpg  
 extracting: val2017/000000290179.jpg  
 extracting: val2017/000000055528.jpg  
 extracting: val2017/000000429281.jpg  
 extracting: val2017/000000385190.jpg  
 extracting: val2017/000000372203.jpg  
 extracting: val2017/000000213035.jpg  
 extracting: val2017/000000377635.jpg  
 extracting: val2017/000000042178.jpg  
 extracting: val2017/000000309484.jpg  
 extracting: val2017/000000287527.jpg  
 extracting: val2017/000000412894.jpg  
 extracting: val2017/000000308793.jpg  
 extracting: val2017/000000357430.jpg  
 extracting: val2017/000000245764.jpg  
 extracting: val2017/000000416534.jpg  
 extracting: val2017/000000314709.jpg  
 extracting: val2017/000000415536.jpg  
 extracting: val2017/000000392818.jpg  
 extracting: val2017/000000339442.jpg  
 extracting: val2017/000000270402.jpg  
 extracting: val2017/000000146457.jpg  
 extracting: val2017/000000428454.jpg  
 extracting: val2017/000000268378.jpg  
 extracting: val2017/000000033638.jpg  
 extracting: val2017/000000307658.jpg  
 extracting: val2017/000000132329.jpg  
 extracting: val2017/000000394940.jpg  
 extracting: val2017/000000455872.jpg  
 extracting: val2017/000000099242.jpg  
 extracting: val2017/000000530466.jpg  
 extracting: val2017/000000482319.jpg  
 extracting: val2017/000000190923.jpg  
 extracting: val2017/000000543581.jpg  
 extracting: val2017/000000201646.jpg  
 extracting: val2017/000000011511.jpg  
 extracting: val2017/000000402433.jpg  
 extracting: val2017/000000376206.jpg  
 extracting: val2017/000000007281.jpg  
 extracting: val2017/000000445658.jpg  
 extracting: val2017/000000479030.jpg  
 extracting: val2017/000000321118.jpg  
 extracting: val2017/000000120572.jpg  
 extracting: val2017/000000186282.jpg  
 extracting: val2017/000000477805.jpg  
 extracting: val2017/000000438226.jpg  
 extracting: val2017/000000036660.jpg  
 extracting: val2017/000000230362.jpg  
 extracting: val2017/000000175535.jpg  
 extracting: val2017/000000255747.jpg  
 extracting: val2017/000000328959.jpg  
 extracting: val2017/000000460379.jpg  
 extracting: val2017/000000261982.jpg  
 extracting: val2017/000000461009.jpg  
 extracting: val2017/000000105264.jpg  
 extracting: val2017/000000525322.jpg  
 extracting: val2017/000000260266.jpg  
 extracting: val2017/000000001503.jpg  
 extracting: val2017/000000057232.jpg  
 extracting: val2017/000000374982.jpg  
 extracting: val2017/000000106757.jpg  
 extracting: val2017/000000132703.jpg  
 extracting: val2017/000000236690.jpg  
 extracting: val2017/000000405970.jpg  
 extracting: val2017/000000456662.jpg  
 extracting: val2017/000000259640.jpg  
 extracting: val2017/000000025560.jpg  
 extracting: val2017/000000134096.jpg  
 extracting: val2017/000000379441.jpg  
 extracting: val2017/000000217400.jpg  
 extracting: val2017/000000039670.jpg  
 extracting: val2017/000000236599.jpg  
 extracting: val2017/000000052996.jpg  
 extracting: val2017/000000214869.jpg  
 extracting: val2017/000000008211.jpg  
 extracting: val2017/000000106912.jpg  
 extracting: val2017/000000154004.jpg  
 extracting: val2017/000000173302.jpg  
 extracting: val2017/000000537355.jpg  
 extracting: val2017/000000221502.jpg  
 extracting: val2017/000000098287.jpg  
 extracting: val2017/000000343706.jpg  
 extracting: val2017/000000251537.jpg  
 extracting: val2017/000000238410.jpg  
 extracting: val2017/000000364166.jpg  
 extracting: val2017/000000187243.jpg  
 extracting: val2017/000000076468.jpg  
 extracting: val2017/000000387148.jpg  
 extracting: val2017/000000465549.jpg  
 extracting: val2017/000000153568.jpg  
 extracting: val2017/000000192191.jpg  
 extracting: val2017/000000379453.jpg  
 extracting: val2017/000000224093.jpg  
 extracting: val2017/000000349678.jpg  
 extracting: val2017/000000325838.jpg  
 extracting: val2017/000000042528.jpg  
 extracting: val2017/000000448365.jpg  
 extracting: val2017/000000388056.jpg  
 extracting: val2017/000000124442.jpg  
 extracting: val2017/000000361238.jpg  
 extracting: val2017/000000572462.jpg  
 extracting: val2017/000000161008.jpg  
 extracting: val2017/000000509735.jpg  
 extracting: val2017/000000465718.jpg  
 extracting: val2017/000000080413.jpg  
 extracting: val2017/000000185157.jpg  
 extracting: val2017/000000360393.jpg  
 extracting: val2017/000000496954.jpg  
 extracting: val2017/000000335529.jpg  
 extracting: val2017/000000559543.jpg  
 extracting: val2017/000000063965.jpg  
 extracting: val2017/000000467776.jpg  
 extracting: val2017/000000309467.jpg  
 extracting: val2017/000000516708.jpg  
 extracting: val2017/000000417043.jpg  
 extracting: val2017/000000375278.jpg  
 extracting: val2017/000000336265.jpg  
 extracting: val2017/000000552902.jpg  
 extracting: val2017/000000188592.jpg  
 extracting: val2017/000000161044.jpg  
 extracting: val2017/000000530052.jpg  
 extracting: val2017/000000431568.jpg  
 extracting: val2017/000000192871.jpg  
 extracting: val2017/000000217285.jpg  
 extracting: val2017/000000210789.jpg  
 extracting: val2017/000000482917.jpg  
 extracting: val2017/000000040083.jpg  
 extracting: val2017/000000106330.jpg  
 extracting: val2017/000000320696.jpg  
 extracting: val2017/000000002006.jpg  
 extracting: val2017/000000025228.jpg  
 extracting: val2017/000000072813.jpg  
 extracting: val2017/000000259097.jpg  
 extracting: val2017/000000077595.jpg  
 extracting: val2017/000000209829.jpg  
 extracting: val2017/000000554156.jpg  
 extracting: val2017/000000262938.jpg  
 extracting: val2017/000000236592.jpg  
 extracting: val2017/000000556873.jpg  
 extracting: val2017/000000064359.jpg  
 extracting: val2017/000000206487.jpg  
 extracting: val2017/000000432468.jpg  
 extracting: val2017/000000001296.jpg  
 extracting: val2017/000000027186.jpg  
 extracting: val2017/000000406997.jpg  
 extracting: val2017/000000546823.jpg  
 extracting: val2017/000000236730.jpg  
 extracting: val2017/000000460683.jpg  
 extracting: val2017/000000206271.jpg  
 extracting: val2017/000000213422.jpg  
 extracting: val2017/000000526392.jpg  
 extracting: val2017/000000337055.jpg  
 extracting: val2017/000000456394.jpg  
 extracting: val2017/000000378605.jpg  
 extracting: val2017/000000328238.jpg  
 extracting: val2017/000000522713.jpg  
 extracting: val2017/000000426241.jpg  
 extracting: val2017/000000048396.jpg  
 extracting: val2017/000000416104.jpg  
 extracting: val2017/000000041633.jpg  
 extracting: val2017/000000396338.jpg  
 extracting: val2017/000000404534.jpg  
 extracting: val2017/000000518770.jpg  
 extracting: val2017/000000500211.jpg  
 extracting: val2017/000000299720.jpg  
 extracting: val2017/000000177357.jpg  
 extracting: val2017/000000252332.jpg  
 extracting: val2017/000000276804.jpg  
 extracting: val2017/000000214224.jpg  
 extracting: val2017/000000484296.jpg  
 extracting: val2017/000000297396.jpg  
 extracting: val2017/000000214720.jpg  
 extracting: val2017/000000486479.jpg  
 extracting: val2017/000000023666.jpg  
 extracting: val2017/000000340930.jpg  
 extracting: val2017/000000528980.jpg  
 extracting: val2017/000000267300.jpg  
 extracting: val2017/000000559160.jpg  
 extracting: val2017/000000007386.jpg  
 extracting: val2017/000000105455.jpg  
 extracting: val2017/000000489764.jpg  
 extracting: val2017/000000537053.jpg  
 extracting: val2017/000000084674.jpg  
 extracting: val2017/000000117197.jpg  
 extracting: val2017/000000361586.jpg  
 extracting: val2017/000000250282.jpg  
 extracting: val2017/000000203931.jpg  
 extracting: val2017/000000050638.jpg  
 extracting: val2017/000000115946.jpg  
 extracting: val2017/000000538067.jpg  
 extracting: val2017/000000366178.jpg  
 extracting: val2017/000000402334.jpg  
 extracting: val2017/000000329827.jpg  
 extracting: val2017/000000127476.jpg  
 extracting: val2017/000000228214.jpg  
 extracting: val2017/000000347335.jpg  
 extracting: val2017/000000485972.jpg  
 extracting: val2017/000000496722.jpg  
 extracting: val2017/000000156071.jpg  
 extracting: val2017/000000434996.jpg  
 extracting: val2017/000000277051.jpg  
 extracting: val2017/000000579655.jpg  
 extracting: val2017/000000131379.jpg  
 extracting: val2017/000000110721.jpg  
 extracting: val2017/000000401250.jpg  
 extracting: val2017/000000162130.jpg  
 extracting: val2017/000000418696.jpg  
 extracting: val2017/000000286553.jpg  
 extracting: val2017/000000231822.jpg  
 extracting: val2017/000000268831.jpg  
 extracting: val2017/000000098633.jpg  
 extracting: val2017/000000423104.jpg  
 extracting: val2017/000000168330.jpg  
 extracting: val2017/000000172977.jpg  
 extracting: val2017/000000078426.jpg  
 extracting: val2017/000000279714.jpg  
 extracting: val2017/000000181542.jpg  
 extracting: val2017/000000404839.jpg  
 extracting: val2017/000000167540.jpg  
 extracting: val2017/000000159791.jpg  
 extracting: val2017/000000004795.jpg  
 extracting: val2017/000000208363.jpg  
 extracting: val2017/000000351331.jpg  
 extracting: val2017/000000511599.jpg  
 extracting: val2017/000000572517.jpg  
 extracting: val2017/000000517832.jpg  
 extracting: val2017/000000568981.jpg  
 extracting: val2017/000000422886.jpg  
 extracting: val2017/000000568147.jpg  
 extracting: val2017/000000448410.jpg  
 extracting: val2017/000000167902.jpg  
 extracting: val2017/000000278749.jpg  
 extracting: val2017/000000335800.jpg  
 extracting: val2017/000000224222.jpg  
 extracting: val2017/000000002592.jpg  
 extracting: val2017/000000010363.jpg  
 extracting: val2017/000000109055.jpg  
 extracting: val2017/000000138979.jpg  
 extracting: val2017/000000220584.jpg  
 extracting: val2017/000000006894.jpg  
 extracting: val2017/000000416991.jpg  
 extracting: val2017/000000368961.jpg  
 extracting: val2017/000000395575.jpg  
 extracting: val2017/000000384527.jpg  
 extracting: val2017/000000078032.jpg  
 extracting: val2017/000000032610.jpg  
 extracting: val2017/000000563758.jpg  
 extracting: val2017/000000050326.jpg  
 extracting: val2017/000000157046.jpg  
 extracting: val2017/000000140929.jpg  
 extracting: val2017/000000489611.jpg  
 extracting: val2017/000000017714.jpg  
 extracting: val2017/000000506310.jpg  
 extracting: val2017/000000065288.jpg  
 extracting: val2017/000000061333.jpg  
 extracting: val2017/000000465430.jpg  
 extracting: val2017/000000316404.jpg  
 extracting: val2017/000000037751.jpg  
 extracting: val2017/000000189436.jpg  
 extracting: val2017/000000193884.jpg  
 extracting: val2017/000000552775.jpg  
 extracting: val2017/000000387916.jpg  
 extracting: val2017/000000402774.jpg  
 extracting: val2017/000000327601.jpg  
 extracting: val2017/000000532690.jpg  
 extracting: val2017/000000162366.jpg  
 extracting: val2017/000000286503.jpg  
 extracting: val2017/000000102411.jpg  
 extracting: val2017/000000378139.jpg  
 extracting: val2017/000000032081.jpg  
 extracting: val2017/000000138241.jpg  
 extracting: val2017/000000417085.jpg  
 extracting: val2017/000000047828.jpg  
 extracting: val2017/000000527784.jpg  
 extracting: val2017/000000578489.jpg  
 extracting: val2017/000000011122.jpg  
 extracting: val2017/000000484351.jpg  
 extracting: val2017/000000039480.jpg  
 extracting: val2017/000000243495.jpg  
 extracting: val2017/000000324614.jpg  
 extracting: val2017/000000505573.jpg  
 extracting: val2017/000000525083.jpg  
 extracting: val2017/000000453860.jpg  
 extracting: val2017/000000370813.jpg  
 extracting: val2017/000000470779.jpg  
 extracting: val2017/000000578500.jpg  
 extracting: val2017/000000286908.jpg  
 extracting: val2017/000000337987.jpg  
 extracting: val2017/000000498747.jpg  
 extracting: val2017/000000403385.jpg  
 extracting: val2017/000000400815.jpg  
 extracting: val2017/000000211069.jpg  
 extracting: val2017/000000082180.jpg  
 extracting: val2017/000000361506.jpg  
 extracting: val2017/000000281754.jpg  
 extracting: val2017/000000508312.jpg  
 extracting: val2017/000000166426.jpg  
 extracting: val2017/000000015597.jpg  
 extracting: val2017/000000371552.jpg  
 extracting: val2017/000000136600.jpg  
 extracting: val2017/000000446574.jpg  
 extracting: val2017/000000575243.jpg  
 extracting: val2017/000000193494.jpg  
 extracting: val2017/000000066523.jpg  
 extracting: val2017/000000331569.jpg  
 extracting: val2017/000000475572.jpg  
 extracting: val2017/000000149222.jpg  
 extracting: val2017/000000557258.jpg  
 extracting: val2017/000000200839.jpg  
 extracting: val2017/000000369751.jpg  
 extracting: val2017/000000561366.jpg  
 extracting: val2017/000000426253.jpg  
 extracting: val2017/000000244750.jpg  
 extracting: val2017/000000514376.jpg  
 extracting: val2017/000000019221.jpg  
 extracting: val2017/000000460682.jpg  
 extracting: val2017/000000453841.jpg  
 extracting: val2017/000000497628.jpg  
 extracting: val2017/000000215778.jpg  
 extracting: val2017/000000523033.jpg  
 extracting: val2017/000000144003.jpg  
 extracting: val2017/000000507081.jpg  
 extracting: val2017/000000293200.jpg  
 extracting: val2017/000000032334.jpg  
 extracting: val2017/000000393115.jpg  
 extracting: val2017/000000010977.jpg  
 extracting: val2017/000000492284.jpg  
 extracting: val2017/000000409867.jpg  
 extracting: val2017/000000251572.jpg  
 extracting: val2017/000000441491.jpg  
 extracting: val2017/000000309678.jpg  
 extracting: val2017/000000232563.jpg  
 extracting: val2017/000000373705.jpg  
 extracting: val2017/000000327890.jpg  
 extracting: val2017/000000269314.jpg  
 extracting: val2017/000000562121.jpg  
 extracting: val2017/000000530470.jpg  
 extracting: val2017/000000108503.jpg  
 extracting: val2017/000000410428.jpg  
 extracting: val2017/000000369771.jpg  
 extracting: val2017/000000207844.jpg  
 extracting: val2017/000000509699.jpg  
 extracting: val2017/000000393014.jpg  
 extracting: val2017/000000560911.jpg  
 extracting: val2017/000000570471.jpg  
 extracting: val2017/000000384350.jpg  
 extracting: val2017/000000410880.jpg  
 extracting: val2017/000000325031.jpg  
 extracting: val2017/000000031620.jpg  
 extracting: val2017/000000464522.jpg  
 extracting: val2017/000000547502.jpg  
 extracting: val2017/000000320706.jpg  
 extracting: val2017/000000501243.jpg  
 extracting: val2017/000000417285.jpg  
 extracting: val2017/000000165039.jpg  
 extracting: val2017/000000078420.jpg  
 extracting: val2017/000000322944.jpg  
 extracting: val2017/000000468501.jpg  
 extracting: val2017/000000068765.jpg  
 extracting: val2017/000000570456.jpg  
 extracting: val2017/000000468577.jpg  
 extracting: val2017/000000072281.jpg  
 extracting: val2017/000000322429.jpg  
 extracting: val2017/000000075456.jpg  
 extracting: val2017/000000159684.jpg  
 extracting: val2017/000000361268.jpg  
 extracting: val2017/000000404923.jpg  
 extracting: val2017/000000205401.jpg  
 extracting: val2017/000000225757.jpg  
 extracting: val2017/000000199977.jpg  
 extracting: val2017/000000161128.jpg  
 extracting: val2017/000000086582.jpg  
 extracting: val2017/000000426203.jpg  
 extracting: val2017/000000266082.jpg  
 extracting: val2017/000000229553.jpg  
 extracting: val2017/000000224807.jpg  
 extracting: val2017/000000133418.jpg  
 extracting: val2017/000000261712.jpg  
 extracting: val2017/000000442161.jpg  
 extracting: val2017/000000477118.jpg  
 extracting: val2017/000000525247.jpg  
 extracting: val2017/000000227765.jpg  
 extracting: val2017/000000537672.jpg  
 extracting: val2017/000000065350.jpg  
 extracting: val2017/000000126216.jpg  
 extracting: val2017/000000125129.jpg  
 extracting: val2017/000000347930.jpg  
 extracting: val2017/000000560474.jpg  
 extracting: val2017/000000112298.jpg  
 extracting: val2017/000000012670.jpg  
 extracting: val2017/000000039484.jpg  
 extracting: val2017/000000389316.jpg  
 extracting: val2017/000000435003.jpg  
 extracting: val2017/000000130386.jpg  
 extracting: val2017/000000231831.jpg  
 extracting: val2017/000000057238.jpg  
 extracting: val2017/000000148707.jpg  
 extracting: val2017/000000074860.jpg  
 extracting: val2017/000000409630.jpg  
 extracting: val2017/000000463174.jpg  
 extracting: val2017/000000453040.jpg  
 extracting: val2017/000000149406.jpg  
 extracting: val2017/000000101420.jpg  
 extracting: val2017/000000224200.jpg  
 extracting: val2017/000000377575.jpg  
 extracting: val2017/000000278353.jpg  
 extracting: val2017/000000200252.jpg  
 extracting: val2017/000000239857.jpg  
 extracting: val2017/000000286708.jpg  
 extracting: val2017/000000440507.jpg  
 extracting: val2017/000000347163.jpg  
 extracting: val2017/000000493864.jpg  
 extracting: val2017/000000238013.jpg  
 extracting: val2017/000000290768.jpg  
 extracting: val2017/000000151820.jpg  
 extracting: val2017/000000087144.jpg  
 extracting: val2017/000000513283.jpg  
 extracting: val2017/000000018575.jpg  
 extracting: val2017/000000070739.jpg  
 extracting: val2017/000000292456.jpg  
 extracting: val2017/000000042628.jpg  
 extracting: val2017/000000047121.jpg  
 extracting: val2017/000000323751.jpg  
 extracting: val2017/000000479099.jpg  
 extracting: val2017/000000397327.jpg  
 extracting: val2017/000000356612.jpg  
 extracting: val2017/000000366711.jpg  
 extracting: val2017/000000163314.jpg  
 extracting: val2017/000000005503.jpg  
 extracting: val2017/000000066038.jpg  
 extracting: val2017/000000392481.jpg  
 extracting: val2017/000000125778.jpg  
 extracting: val2017/000000562843.jpg  
 extracting: val2017/000000393569.jpg  
 extracting: val2017/000000428111.jpg  
 extracting: val2017/000000099054.jpg  
 extracting: val2017/000000484404.jpg  
 extracting: val2017/000000205776.jpg  
 extracting: val2017/000000210708.jpg  
 extracting: val2017/000000049091.jpg  
 extracting: val2017/000000013004.jpg  
 extracting: val2017/000000134722.jpg  
 extracting: val2017/000000174018.jpg  
 extracting: val2017/000000142238.jpg  
 extracting: val2017/000000140658.jpg  
 extracting: val2017/000000521282.jpg  
 extracting: val2017/000000344909.jpg  
 extracting: val2017/000000181303.jpg  
 extracting: val2017/000000037988.jpg  
 extracting: val2017/000000537991.jpg  
 extracting: val2017/000000174371.jpg  
 extracting: val2017/000000001532.jpg  
 extracting: val2017/000000344795.jpg  
 extracting: val2017/000000131138.jpg  
 extracting: val2017/000000429690.jpg  
 extracting: val2017/000000263299.jpg  
 extracting: val2017/000000135561.jpg  
 extracting: val2017/000000016958.jpg  
 extracting: val2017/000000367095.jpg  
 extracting: val2017/000000082715.jpg  
 extracting: val2017/000000516038.jpg  
 extracting: val2017/000000243148.jpg  
 extracting: val2017/000000390826.jpg  
 extracting: val2017/000000262631.jpg  
 extracting: val2017/000000498807.jpg  
 extracting: val2017/000000483050.jpg  
 extracting: val2017/000000451308.jpg  
 extracting: val2017/000000058539.jpg  
 extracting: val2017/000000047112.jpg  
 extracting: val2017/000000406129.jpg  
 extracting: val2017/000000545407.jpg  
 extracting: val2017/000000565853.jpg  
 extracting: val2017/000000326082.jpg  
 extracting: val2017/000000272416.jpg  
 extracting: val2017/000000071756.jpg  
 extracting: val2017/000000577864.jpg  
 extracting: val2017/000000481386.jpg  
 extracting: val2017/000000007574.jpg  
 extracting: val2017/000000039551.jpg  
 extracting: val2017/000000264441.jpg  
 extracting: val2017/000000146831.jpg  
 extracting: val2017/000000366884.jpg  
 extracting: val2017/000000416758.jpg  
 extracting: val2017/000000153229.jpg  
 extracting: val2017/000000061747.jpg  
 extracting: val2017/000000021503.jpg  
 extracting: val2017/000000179487.jpg  
 extracting: val2017/000000526728.jpg  
 extracting: val2017/000000252219.jpg  
 extracting: val2017/000000190841.jpg  
 extracting: val2017/000000073153.jpg  
 extracting: val2017/000000129812.jpg  
 extracting: val2017/000000488166.jpg  
 extracting: val2017/000000258883.jpg  
 extracting: val2017/000000206838.jpg  
 extracting: val2017/000000013177.jpg  
 extracting: val2017/000000094185.jpg  
 extracting: val2017/000000460967.jpg  
 extracting: val2017/000000342128.jpg  
 extracting: val2017/000000284296.jpg  
 extracting: val2017/000000538458.jpg  
 extracting: val2017/000000032887.jpg  
 extracting: val2017/000000529122.jpg  
 extracting: val2017/000000481573.jpg  
 extracting: val2017/000000442009.jpg  
 extracting: val2017/000000574702.jpg  
 extracting: val2017/000000177383.jpg  
 extracting: val2017/000000416745.jpg  
 extracting: val2017/000000008021.jpg  
 extracting: val2017/000000478862.jpg  
 extracting: val2017/000000190140.jpg  
 extracting: val2017/000000468632.jpg  
 extracting: val2017/000000109118.jpg  
 extracting: val2017/000000011149.jpg  
 extracting: val2017/000000083531.jpg  
 extracting: val2017/000000372577.jpg  
 extracting: val2017/000000102331.jpg  
 extracting: val2017/000000227898.jpg  
 extracting: val2017/000000419601.jpg  
 extracting: val2017/000000157390.jpg  
 extracting: val2017/000000025424.jpg  
 extracting: val2017/000000024919.jpg  
 extracting: val2017/000000537241.jpg  
 extracting: val2017/000000255749.jpg  
 extracting: val2017/000000377723.jpg  
 extracting: val2017/000000486112.jpg  
 extracting: val2017/000000325991.jpg  
 extracting: val2017/000000369323.jpg  
 extracting: val2017/000000563648.jpg  
 extracting: val2017/000000163746.jpg  
 extracting: val2017/000000458755.jpg  
 extracting: val2017/000000399655.jpg  
 extracting: val2017/000000265518.jpg  
 extracting: val2017/000000302165.jpg  
 extracting: val2017/000000021465.jpg  
 extracting: val2017/000000063154.jpg  
 extracting: val2017/000000279769.jpg  
 extracting: val2017/000000248111.jpg  
 extracting: val2017/000000485844.jpg  
 extracting: val2017/000000289702.jpg  
 extracting: val2017/000000123131.jpg  
 extracting: val2017/000000581482.jpg  
 extracting: val2017/000000579902.jpg  
 extracting: val2017/000000230993.jpg  
 extracting: val2017/000000165831.jpg  
 extracting: val2017/000000479248.jpg  
 extracting: val2017/000000051961.jpg  
 extracting: val2017/000000136033.jpg  
 extracting: val2017/000000458768.jpg  
 extracting: val2017/000000111951.jpg  
 extracting: val2017/000000450686.jpg  
 extracting: val2017/000000460333.jpg  
 extracting: val2017/000000407083.jpg  
 extracting: val2017/000000277689.jpg  
 extracting: val2017/000000403817.jpg  
 extracting: val2017/000000480842.jpg  
 extracting: val2017/000000119452.jpg  
 extracting: val2017/000000173091.jpg  
 extracting: val2017/000000125806.jpg  
 extracting: val2017/000000321790.jpg  
 extracting: val2017/000000450758.jpg  
 extracting: val2017/000000224724.jpg  
 extracting: val2017/000000287874.jpg  
 extracting: val2017/000000361142.jpg  
 extracting: val2017/000000439180.jpg  
 extracting: val2017/000000177539.jpg  
 extracting: val2017/000000228981.jpg  
 extracting: val2017/000000509719.jpg  
 extracting: val2017/000000071938.jpg  
 extracting: val2017/000000016502.jpg  
 extracting: val2017/000000098853.jpg  
 extracting: val2017/000000094944.jpg  
 extracting: val2017/000000168883.jpg  
 extracting: val2017/000000267169.jpg  
 extracting: val2017/000000422670.jpg  
 extracting: val2017/000000269866.jpg  
 extracting: val2017/000000135604.jpg  
 extracting: val2017/000000009772.jpg  
 extracting: val2017/000000050380.jpg  
 extracting: val2017/000000404484.jpg  
 extracting: val2017/000000009483.jpg  
 extracting: val2017/000000413552.jpg  
 extracting: val2017/000000131938.jpg  
 extracting: val2017/000000348216.jpg  
 extracting: val2017/000000460160.jpg  
 extracting: val2017/000000109827.jpg  
 extracting: val2017/000000009590.jpg  
 extracting: val2017/000000271457.jpg  
 extracting: val2017/000000260470.jpg  
 extracting: val2017/000000570448.jpg  
 extracting: val2017/000000167240.jpg  
 extracting: val2017/000000009914.jpg  
 extracting: val2017/000000495146.jpg  
 extracting: val2017/000000112378.jpg  
 extracting: val2017/000000104424.jpg  
 extracting: val2017/000000420916.jpg  
 extracting: val2017/000000110042.jpg  
 extracting: val2017/000000051314.jpg  
 extracting: val2017/000000457078.jpg  
 extracting: val2017/000000405249.jpg  
 extracting: val2017/000000476491.jpg  
 extracting: val2017/000000367228.jpg  
 extracting: val2017/000000187249.jpg  
 extracting: val2017/000000472623.jpg  
 extracting: val2017/000000555972.jpg  
 extracting: val2017/000000304817.jpg  
 extracting: val2017/000000397133.jpg  
 extracting: val2017/000000578236.jpg  
 extracting: val2017/000000214192.jpg  
 extracting: val2017/000000478393.jpg  
 extracting: val2017/000000573094.jpg  
 extracting: val2017/000000560256.jpg  
 extracting: val2017/000000047801.jpg  
 extracting: val2017/000000325306.jpg  
 extracting: val2017/000000434548.jpg  
 extracting: val2017/000000215723.jpg  
 extracting: val2017/000000130566.jpg  
 extracting: val2017/000000308165.jpg  
 extracting: val2017/000000463522.jpg  
 extracting: val2017/000000099039.jpg  
 extracting: val2017/000000037689.jpg  
 extracting: val2017/000000066926.jpg  
 extracting: val2017/000000036678.jpg  
 extracting: val2017/000000384651.jpg  
 extracting: val2017/000000458109.jpg  
 extracting: val2017/000000191288.jpg  
 extracting: val2017/000000488251.jpg  
 extracting: val2017/000000453981.jpg  
 extracting: val2017/000000225405.jpg  
 extracting: val2017/000000091495.jpg  
 extracting: val2017/000000569273.jpg  
 extracting: val2017/000000295809.jpg  
 extracting: val2017/000000193181.jpg  
 extracting: val2017/000000439593.jpg  
 extracting: val2017/000000366199.jpg  
 extracting: val2017/000000303305.jpg  
 extracting: val2017/000000562229.jpg  
 extracting: val2017/000000283070.jpg  
 extracting: val2017/000000245448.jpg  
 extracting: val2017/000000123585.jpg  
 extracting: val2017/000000251119.jpg  
 extracting: val2017/000000513567.jpg  
 extracting: val2017/000000572678.jpg  
 extracting: val2017/000000163611.jpg  
 extracting: val2017/000000083113.jpg  
 extracting: val2017/000000321214.jpg  
 extracting: val2017/000000292236.jpg  
 extracting: val2017/000000172877.jpg  
 extracting: val2017/000000412240.jpg  
 extracting: val2017/000000493772.jpg  
 extracting: val2017/000000368212.jpg  
 extracting: val2017/000000424551.jpg  
 extracting: val2017/000000305317.jpg  
 extracting: val2017/000000466256.jpg  
 extracting: val2017/000000383676.jpg  
 extracting: val2017/000000580197.jpg  
 extracting: val2017/000000395801.jpg  
 extracting: val2017/000000530836.jpg  
 extracting: val2017/000000530975.jpg  
 extracting: val2017/000000569917.jpg  
 extracting: val2017/000000127135.jpg  
 extracting: val2017/000000304984.jpg  
 extracting: val2017/000000121497.jpg  
 extracting: val2017/000000159977.jpg  
 extracting: val2017/000000102820.jpg  
 extracting: val2017/000000275749.jpg  
 extracting: val2017/000000029984.jpg  
 extracting: val2017/000000486573.jpg  
 extracting: val2017/000000013348.jpg  
 extracting: val2017/000000539143.jpg  
 extracting: val2017/000000031735.jpg  
 extracting: val2017/000000210230.jpg  
 extracting: val2017/000000025603.jpg  
 extracting: val2017/000000114884.jpg  
 extracting: val2017/000000036861.jpg  
 extracting: val2017/000000232088.jpg  
 extracting: val2017/000000473118.jpg  
 extracting: val2017/000000008532.jpg  
 extracting: val2017/000000382111.jpg  
 extracting: val2017/000000217060.jpg  
 extracting: val2017/000000237864.jpg  
 extracting: val2017/000000198641.jpg  
 extracting: val2017/000000327701.jpg  
 extracting: val2017/000000072795.jpg  
 extracting: val2017/000000118921.jpg  
 extracting: val2017/000000196009.jpg  
 extracting: val2017/000000286458.jpg  
 extracting: val2017/000000533958.jpg  
 extracting: val2017/000000002261.jpg  
 extracting: val2017/000000522751.jpg  
 extracting: val2017/000000509260.jpg  
 extracting: val2017/000000440508.jpg  
 extracting: val2017/000000536073.jpg  
 extracting: val2017/000000207728.jpg  
 extracting: val2017/000000378454.jpg  
 extracting: val2017/000000068409.jpg  
 extracting: val2017/000000140076.jpg  
 extracting: val2017/000000454067.jpg  
 extracting: val2017/000000483999.jpg  
 extracting: val2017/000000570736.jpg  
 extracting: val2017/000000475904.jpg  
 extracting: val2017/000000292060.jpg  
 extracting: val2017/000000549738.jpg  
 extracting: val2017/000000216636.jpg  
 extracting: val2017/000000297427.jpg  
 extracting: val2017/000000541773.jpg  
 extracting: val2017/000000269113.jpg  
 extracting: val2017/000000207306.jpg  
 extracting: val2017/000000475191.jpg  
 extracting: val2017/000000519611.jpg  
 extracting: val2017/000000138954.jpg  
 extracting: val2017/000000214539.jpg  
 extracting: val2017/000000376322.jpg  
 extracting: val2017/000000176606.jpg  
 extracting: val2017/000000165500.jpg  
 extracting: val2017/000000289393.jpg  
 extracting: val2017/000000164883.jpg  
 extracting: val2017/000000565563.jpg  
 extracting: val2017/000000389933.jpg  
 extracting: val2017/000000343076.jpg  
 extracting: val2017/000000287649.jpg  
 extracting: val2017/000000180560.jpg  
 extracting: val2017/000000047819.jpg  
 extracting: val2017/000000289992.jpg  
 extracting: val2017/000000189752.jpg  
 extracting: val2017/000000550797.jpg  
 extracting: val2017/000000152686.jpg  
 extracting: val2017/000000184384.jpg  
 extracting: val2017/000000039785.jpg  
 extracting: val2017/000000148719.jpg  
 extracting: val2017/000000185472.jpg  
 extracting: val2017/000000568584.jpg  
 extracting: val2017/000000545007.jpg  
 extracting: val2017/000000002157.jpg  
 extracting: val2017/000000008629.jpg  
 extracting: val2017/000000089670.jpg  
 extracting: val2017/000000577539.jpg  
 extracting: val2017/000000060052.jpg  
 extracting: val2017/000000334006.jpg  
 extracting: val2017/000000167122.jpg  
 extracting: val2017/000000416343.jpg  
 extracting: val2017/000000055299.jpg  
 extracting: val2017/000000202228.jpg  
 extracting: val2017/000000478286.jpg  
 extracting: val2017/000000197388.jpg  
 extracting: val2017/000000013923.jpg  
 extracting: val2017/000000026941.jpg  
 extracting: val2017/000000239041.jpg  
 extracting: val2017/000000302452.jpg  
 extracting: val2017/000000018737.jpg  
 extracting: val2017/000000127494.jpg  
 extracting: val2017/000000179174.jpg  
 extracting: val2017/000000419974.jpg  
 extracting: val2017/000000300276.jpg  
 extracting: val2017/000000393838.jpg  
 extracting: val2017/000000455267.jpg  
 extracting: val2017/000000007278.jpg  
 extracting: val2017/000000209747.jpg  
 extracting: val2017/000000311180.jpg  
 extracting: val2017/000000224051.jpg  
 extracting: val2017/000000092839.jpg  
 extracting: val2017/000000460927.jpg  
 extracting: val2017/000000268375.jpg  
 extracting: val2017/000000135902.jpg  
 extracting: val2017/000000162415.jpg  
 extracting: val2017/000000140840.jpg  
 extracting: val2017/000000395388.jpg  
 extracting: val2017/000000208423.jpg  
 extracting: val2017/000000180296.jpg  
 extracting: val2017/000000535523.jpg  
 extracting: val2017/000000348488.jpg  
 extracting: val2017/000000196759.jpg  
 extracting: val2017/000000023751.jpg  
 extracting: val2017/000000041888.jpg  
 extracting: val2017/000000039477.jpg  
 extracting: val2017/000000014831.jpg  
 extracting: val2017/000000007888.jpg  
 extracting: val2017/000000531771.jpg  
 extracting: val2017/000000016249.jpg  
 extracting: val2017/000000458054.jpg  
 extracting: val2017/000000183675.jpg  
 extracting: val2017/000000424135.jpg  
 extracting: val2017/000000139260.jpg  
 extracting: val2017/000000079565.jpg  
 extracting: val2017/000000482735.jpg  
 extracting: val2017/000000133969.jpg  
 extracting: val2017/000000060886.jpg  
 extracting: val2017/000000578545.jpg  
 extracting: val2017/000000554291.jpg  
 extracting: val2017/000000084270.jpg  
 extracting: val2017/000000233139.jpg  
 extracting: val2017/000000222559.jpg  
 extracting: val2017/000000415741.jpg  
 extracting: val2017/000000241668.jpg  
 extracting: val2017/000000220858.jpg  
 extracting: val2017/000000180878.jpg  
 extracting: val2017/000000316015.jpg  
 extracting: val2017/000000286507.jpg  
 extracting: val2017/000000226417.jpg  
 extracting: val2017/000000133233.jpg  
 extracting: val2017/000000253742.jpg  
 extracting: val2017/000000317433.jpg  
 extracting: val2017/000000110999.jpg  
 extracting: val2017/000000438876.jpg  
 extracting: val2017/000000372260.jpg  
 extracting: val2017/000000024021.jpg  
 extracting: val2017/000000491757.jpg  
 extracting: val2017/000000377882.jpg  
 extracting: val2017/000000094751.jpg  
 extracting: val2017/000000104572.jpg  
 extracting: val2017/000000141328.jpg  
 extracting: val2017/000000247838.jpg  
 extracting: val2017/000000377393.jpg  
 extracting: val2017/000000318114.jpg  
 extracting: val2017/000000229216.jpg  
 extracting: val2017/000000448076.jpg  
 extracting: val2017/000000248752.jpg  
 extracting: val2017/000000502168.jpg  
 extracting: val2017/000000463802.jpg  
 extracting: val2017/000000129054.jpg  
 extracting: val2017/000000288430.jpg  
 extracting: val2017/000000049060.jpg  
 extracting: val2017/000000195754.jpg  
 extracting: val2017/000000115898.jpg  
 extracting: val2017/000000349480.jpg  
 extracting: val2017/000000186929.jpg  
 extracting: val2017/000000069138.jpg  
 extracting: val2017/000000551350.jpg  
 extracting: val2017/000000256868.jpg  
 extracting: val2017/000000191013.jpg  
 extracting: val2017/000000276434.jpg  
 extracting: val2017/000000289059.jpg  
 extracting: val2017/000000311518.jpg  
 extracting: val2017/000000507975.jpg  
 extracting: val2017/000000383842.jpg  
 extracting: val2017/000000410496.jpg  
 extracting: val2017/000000497344.jpg  
 extracting: val2017/000000561223.jpg  
 extracting: val2017/000000235399.jpg  
 extracting: val2017/000000321557.jpg  
 extracting: val2017/000000355817.jpg  
 extracting: val2017/000000356424.jpg  
 extracting: val2017/000000068833.jpg  
 extracting: val2017/000000297562.jpg  
 extracting: val2017/000000394611.jpg  
 extracting: val2017/000000549167.jpg  
 extracting: val2017/000000512985.jpg  
 extracting: val2017/000000347664.jpg  
 extracting: val2017/000000333745.jpg  
 extracting: val2017/000000147205.jpg  
 extracting: val2017/000000099114.jpg  
 extracting: val2017/000000368294.jpg  
 extracting: val2017/000000001490.jpg  
 extracting: val2017/000000556000.jpg  
 extracting: val2017/000000345361.jpg  
 extracting: val2017/000000471869.jpg  
 extracting: val2017/000000271116.jpg  
 extracting: val2017/000000050145.jpg  
 extracting: val2017/000000565597.jpg  
 extracting: val2017/000000473237.jpg  
 extracting: val2017/000000311789.jpg  
 extracting: val2017/000000241326.jpg  
 extracting: val2017/000000549930.jpg  
 extracting: val2017/000000507223.jpg  
 extracting: val2017/000000204186.jpg  
 extracting: val2017/000000562443.jpg  
 extracting: val2017/000000546964.jpg  
 extracting: val2017/000000155145.jpg  
 extracting: val2017/000000206135.jpg  
 extracting: val2017/000000508101.jpg  
 extracting: val2017/000000212072.jpg  
 extracting: val2017/000000249786.jpg  
 extracting: val2017/000000163258.jpg  
 extracting: val2017/000000052017.jpg  
 extracting: val2017/000000095707.jpg  
 extracting: val2017/000000295713.jpg  
 extracting: val2017/000000007816.jpg  
 extracting: val2017/000000034257.jpg  
 extracting: val2017/000000267903.jpg  
 extracting: val2017/000000381639.jpg  
 extracting: val2017/000000479953.jpg  
 extracting: val2017/000000025139.jpg  
 extracting: val2017/000000350023.jpg  
 extracting: val2017/000000026690.jpg  
 extracting: val2017/000000393469.jpg  
 extracting: val2017/000000578871.jpg  
 extracting: val2017/000000044877.jpg  
 extracting: val2017/000000157756.jpg  
 extracting: val2017/000000274411.jpg  
 extracting: val2017/000000261116.jpg  
 extracting: val2017/000000097988.jpg  
 extracting: val2017/000000154213.jpg  
 extracting: val2017/000000205333.jpg  
 extracting: val2017/000000502737.jpg  
 extracting: val2017/000000529568.jpg  
 extracting: val2017/000000496597.jpg  
 extracting: val2017/000000263474.jpg  
 extracting: val2017/000000399462.jpg  
 extracting: val2017/000000445248.jpg  
 extracting: val2017/000000292024.jpg  
 extracting: val2017/000000405972.jpg  
 extracting: val2017/000000233238.jpg  
 extracting: val2017/000000383443.jpg  
 extracting: val2017/000000474293.jpg  
 extracting: val2017/000000127660.jpg  
 extracting: val2017/000000357567.jpg  
 extracting: val2017/000000303893.jpg  
 extracting: val2017/000000166918.jpg  
 extracting: val2017/000000193429.jpg  
 extracting: val2017/000000445722.jpg  
 extracting: val2017/000000479126.jpg  
 extracting: val2017/000000550426.jpg  
 extracting: val2017/000000463542.jpg  
 extracting: val2017/000000339823.jpg  
 extracting: val2017/000000447200.jpg  
 extracting: val2017/000000472678.jpg  
 extracting: val2017/000000263463.jpg  
 extracting: val2017/000000201418.jpg  
 extracting: val2017/000000480275.jpg  
 extracting: val2017/000000031817.jpg  
 extracting: val2017/000000163257.jpg  
 extracting: val2017/000000035279.jpg  
 extracting: val2017/000000019402.jpg  
 extracting: val2017/000000411953.jpg  
 extracting: val2017/000000123321.jpg  
 extracting: val2017/000000571264.jpg  
 extracting: val2017/000000263594.jpg  
 extracting: val2017/000000043581.jpg  
 extracting: val2017/000000211042.jpg  
 extracting: val2017/000000231088.jpg  
 extracting: val2017/000000167572.jpg  
 extracting: val2017/000000244833.jpg  
 extracting: val2017/000000235857.jpg  
 extracting: val2017/000000542073.jpg  
 extracting: val2017/000000224337.jpg  
 extracting: val2017/000000453341.jpg  
 extracting: val2017/000000379842.jpg  
 extracting: val2017/000000161609.jpg  
 extracting: val2017/000000440184.jpg  
 extracting: val2017/000000281693.jpg  
 extracting: val2017/000000253002.jpg  
 extracting: val2017/000000476119.jpg  
 extracting: val2017/000000574425.jpg  
 extracting: val2017/000000482800.jpg  
 extracting: val2017/000000458663.jpg  
 extracting: val2017/000000159112.jpg  
 extracting: val2017/000000199771.jpg  
 extracting: val2017/000000142092.jpg  
 extracting: val2017/000000550349.jpg  
 extracting: val2017/000000463199.jpg  
 extracting: val2017/000000332318.jpg  
 extracting: val2017/000000231169.jpg  
 extracting: val2017/000000517687.jpg  
 extracting: val2017/000000118209.jpg  
 extracting: val2017/000000455624.jpg  
 extracting: val2017/000000534394.jpg  
 extracting: val2017/000000110884.jpg  
 extracting: val2017/000000065798.jpg  
 extracting: val2017/000000438774.jpg  
 extracting: val2017/000000090062.jpg  
 extracting: val2017/000000285788.jpg  
 extracting: val2017/000000004765.jpg  
 extracting: val2017/000000482970.jpg  
 extracting: val2017/000000284279.jpg  
 extracting: val2017/000000187236.jpg  
 extracting: val2017/000000564336.jpg  
 extracting: val2017/000000290833.jpg  
 extracting: val2017/000000082812.jpg  
 extracting: val2017/000000433103.jpg  
 extracting: val2017/000000421834.jpg  
 extracting: val2017/000000211120.jpg  
 extracting: val2017/000000415727.jpg  
 extracting: val2017/000000340894.jpg  
 extracting: val2017/000000542423.jpg  
 extracting: val2017/000000434204.jpg  
 extracting: val2017/000000022755.jpg  
 extracting: val2017/000000367386.jpg  
 extracting: val2017/000000146363.jpg  
 extracting: val2017/000000346703.jpg  
 extracting: val2017/000000125850.jpg  
 extracting: val2017/000000229858.jpg  
 extracting: val2017/000000017178.jpg  
 extracting: val2017/000000080932.jpg  
 extracting: val2017/000000113589.jpg  
 extracting: val2017/000000491090.jpg  
 extracting: val2017/000000257896.jpg  
 extracting: val2017/000000389315.jpg  
 extracting: val2017/000000575970.jpg  
 extracting: val2017/000000331280.jpg  
 extracting: val2017/000000102644.jpg  
 extracting: val2017/000000511760.jpg  
 extracting: val2017/000000256775.jpg  
 extracting: val2017/000000237118.jpg  
 extracting: val2017/000000182417.jpg  
 extracting: val2017/000000527427.jpg  
 extracting: val2017/000000273551.jpg  
 extracting: val2017/000000078915.jpg  
 extracting: val2017/000000283412.jpg  
 extracting: val2017/000000021604.jpg  
 extracting: val2017/000000091779.jpg  
 extracting: val2017/000000212453.jpg  
 extracting: val2017/000000559099.jpg  
 extracting: val2017/000000137727.jpg  
 extracting: val2017/000000233825.jpg  
 extracting: val2017/000000184611.jpg  
 extracting: val2017/000000511647.jpg  
 extracting: val2017/000000342186.jpg  
 extracting: val2017/000000558558.jpg  
 extracting: val2017/000000479596.jpg  
 extracting: val2017/000000290771.jpg  
 extracting: val2017/000000061960.jpg  
 extracting: val2017/000000436617.jpg  
 extracting: val2017/000000109900.jpg  
 extracting: val2017/000000138856.jpg  
 extracting: val2017/000000087038.jpg  
 extracting: val2017/000000273760.jpg  
 extracting: val2017/000000276921.jpg  
 extracting: val2017/000000360097.jpg  
 extracting: val2017/000000299609.jpg  
 extracting: val2017/000000309391.jpg  
 extracting: val2017/000000138819.jpg  
 extracting: val2017/000000407650.jpg  
 extracting: val2017/000000465822.jpg  
 extracting: val2017/000000264535.jpg  
 extracting: val2017/000000201025.jpg  
 extracting: val2017/000000531134.jpg  
 extracting: val2017/000000396274.jpg  
 extracting: val2017/000000023359.jpg  
 extracting: val2017/000000266400.jpg  
 extracting: val2017/000000400161.jpg  
 extracting: val2017/000000504635.jpg  
 extracting: val2017/000000129756.jpg  
 extracting: val2017/000000129113.jpg  
 extracting: val2017/000000170191.jpg  
 extracting: val2017/000000058350.jpg  
 extracting: val2017/000000109798.jpg  
 extracting: val2017/000000464358.jpg  
 extracting: val2017/000000239843.jpg  
 extracting: val2017/000000385719.jpg  
 extracting: val2017/000000341469.jpg  
 extracting: val2017/000000094871.jpg  
 extracting: val2017/000000404678.jpg  
 extracting: val2017/000000001818.jpg  
 extracting: val2017/000000161799.jpg  
 extracting: val2017/000000287667.jpg  
 extracting: val2017/000000556498.jpg  
 extracting: val2017/000000334309.jpg  
 extracting: val2017/000000097679.jpg  
 extracting: val2017/000000384616.jpg  
 extracting: val2017/000000222991.jpg  
 extracting: val2017/000000507037.jpg  
 extracting: val2017/000000166664.jpg  
 extracting: val2017/000000536947.jpg  
 extracting: val2017/000000090003.jpg  
 extracting: val2017/000000545594.jpg  
 extracting: val2017/000000397351.jpg  
 extracting: val2017/000000399205.jpg  
 extracting: val2017/000000376264.jpg  
 extracting: val2017/000000463849.jpg  
 extracting: val2017/000000492282.jpg  
 extracting: val2017/000000101022.jpg  
 extracting: val2017/000000202339.jpg  
 extracting: val2017/000000292488.jpg  
 extracting: val2017/000000057150.jpg  
 extracting: val2017/000000031050.jpg  
 extracting: val2017/000000501005.jpg  
 extracting: val2017/000000576566.jpg  
 extracting: val2017/000000064574.jpg  
 extracting: val2017/000000423971.jpg  
 extracting: val2017/000000291634.jpg  
 extracting: val2017/000000022589.jpg  
 extracting: val2017/000000511384.jpg  
 extracting: val2017/000000013774.jpg  
 extracting: val2017/000000491725.jpg  
 extracting: val2017/000000361621.jpg  
 extracting: val2017/000000567640.jpg  
 extracting: val2017/000000507667.jpg  
 extracting: val2017/000000567886.jpg  
 extracting: val2017/000000451714.jpg  
 extracting: val2017/000000314264.jpg  
 extracting: val2017/000000246522.jpg  
 extracting: val2017/000000497867.jpg  
 extracting: val2017/000000500270.jpg  
 extracting: val2017/000000351559.jpg  
 extracting: val2017/000000116479.jpg  
 extracting: val2017/000000129135.jpg  
 extracting: val2017/000000087470.jpg  
 extracting: val2017/000000019109.jpg  
 extracting: val2017/000000035326.jpg  
 extracting: val2017/000000054605.jpg  
 extracting: val2017/000000045596.jpg  
 extracting: val2017/000000067315.jpg  
 extracting: val2017/000000506656.jpg  
 extracting: val2017/000000275727.jpg  
 extracting: val2017/000000148739.jpg  
 extracting: val2017/000000441543.jpg  
 extracting: val2017/000000353096.jpg  
 extracting: val2017/000000226111.jpg  
 extracting: val2017/000000419379.jpg  
 extracting: val2017/000000544444.jpg  
 extracting: val2017/000000203389.jpg  
 extracting: val2017/000000206027.jpg  
 extracting: val2017/000000469652.jpg  
 extracting: val2017/000000283318.jpg  
 extracting: val2017/000000255483.jpg  
 extracting: val2017/000000042070.jpg  
 extracting: val2017/000000452793.jpg  
 extracting: val2017/000000491216.jpg  
 extracting: val2017/000000369442.jpg  
 extracting: val2017/000000310200.jpg  
 extracting: val2017/000000455352.jpg  
 extracting: val2017/000000294783.jpg  
 extracting: val2017/000000079651.jpg  
 extracting: val2017/000000239717.jpg  
 extracting: val2017/000000231125.jpg  
 extracting: val2017/000000505638.jpg  
 extracting: val2017/000000293071.jpg  
 extracting: val2017/000000299553.jpg  
 extracting: val2017/000000365766.jpg  
 extracting: val2017/000000166563.jpg  
 extracting: val2017/000000019742.jpg  
 extracting: val2017/000000088485.jpg  
 extracting: val2017/000000245320.jpg  
 extracting: val2017/000000134322.jpg  
 extracting: val2017/000000564023.jpg  
 extracting: val2017/000000383606.jpg  
 extracting: val2017/000000179392.jpg  
 extracting: val2017/000000353027.jpg  
 extracting: val2017/000000028452.jpg  
 extracting: val2017/000000530099.jpg  
 extracting: val2017/000000125936.jpg  
 extracting: val2017/000000446206.jpg  
 extracting: val2017/000000234366.jpg  
 extracting: val2017/000000053994.jpg  
 extracting: val2017/000000031269.jpg  
 extracting: val2017/000000260657.jpg  
 extracting: val2017/000000053626.jpg  
 extracting: val2017/000000456015.jpg  
 extracting: val2017/000000326542.jpg  
 extracting: val2017/000000100428.jpg  
 extracting: val2017/000000104669.jpg  
 extracting: val2017/000000349302.jpg  
 extracting: val2017/000000116206.jpg  
 extracting: val2017/000000400803.jpg  
 extracting: val2017/000000444142.jpg  
 extracting: val2017/000000047740.jpg  
 extracting: val2017/000000039951.jpg  
 extracting: val2017/000000566436.jpg  
 extracting: val2017/000000312213.jpg  
 extracting: val2017/000000039914.jpg  
 extracting: val2017/000000411754.jpg  
 extracting: val2017/000000462728.jpg  
 extracting: val2017/000000296284.jpg  
 extracting: val2017/000000349152.jpg  
 extracting: val2017/000000538236.jpg  
 extracting: val2017/000000035062.jpg  
 extracting: val2017/000000549390.jpg  
 extracting: val2017/000000267670.jpg  
 extracting: val2017/000000153343.jpg  
 extracting: val2017/000000005600.jpg  
 extracting: val2017/000000533493.jpg  
 extracting: val2017/000000279541.jpg  
 extracting: val2017/000000208208.jpg  
 extracting: val2017/000000363188.jpg  
 extracting: val2017/000000063740.jpg  
 extracting: val2017/000000262895.jpg  
 extracting: val2017/000000494427.jpg  
 extracting: val2017/000000002431.jpg  
 extracting: val2017/000000013729.jpg  
 extracting: val2017/000000022935.jpg  
 extracting: val2017/000000358427.jpg  
 extracting: val2017/000000423229.jpg  
 extracting: val2017/000000270122.jpg  
 extracting: val2017/000000521141.jpg  
 extracting: val2017/000000060102.jpg  
 extracting: val2017/000000451090.jpg  
 extracting: val2017/000000479155.jpg  
 extracting: val2017/000000529105.jpg  
 extracting: val2017/000000460929.jpg  
 extracting: val2017/000000344029.jpg  
 extracting: val2017/000000240754.jpg  
 extracting: val2017/000000236166.jpg  
 extracting: val2017/000000187734.jpg  
 extracting: val2017/000000424349.jpg  
 extracting: val2017/000000229849.jpg  
 extracting: val2017/000000433243.jpg  
 extracting: val2017/000000459634.jpg  
 extracting: val2017/000000154339.jpg  
 extracting: val2017/000000386134.jpg  
 extracting: val2017/000000542089.jpg  
 extracting: val2017/000000093965.jpg  
 extracting: val2017/000000222317.jpg  
 extracting: val2017/000000499181.jpg  
 extracting: val2017/000000414676.jpg  
 extracting: val2017/000000527029.jpg  
 extracting: val2017/000000230983.jpg  
 extracting: val2017/000000176857.jpg  
 extracting: val2017/000000139883.jpg  
 extracting: val2017/000000326128.jpg  
 extracting: val2017/000000073946.jpg  
 extracting: val2017/000000160864.jpg  
 extracting: val2017/000000099024.jpg  
 extracting: val2017/000000369081.jpg  
 extracting: val2017/000000273715.jpg  
 extracting: val2017/000000329080.jpg  
 extracting: val2017/000000227686.jpg  
 extracting: val2017/000000514914.jpg  
 extracting: val2017/000000336309.jpg  
 extracting: val2017/000000177714.jpg  
 extracting: val2017/000000027982.jpg  
 extracting: val2017/000000312192.jpg  
 extracting: val2017/000000123213.jpg  
 extracting: val2017/000000125952.jpg  
 extracting: val2017/000000125245.jpg  
 extracting: val2017/000000146489.jpg  
 extracting: val2017/000000419408.jpg  
 extracting: val2017/000000469192.jpg  
 extracting: val2017/000000233727.jpg  
 extracting: val2017/000000468124.jpg  
 extracting: val2017/000000355240.jpg  
 extracting: val2017/000000336356.jpg  
 extracting: val2017/000000328337.jpg  
 extracting: val2017/000000377670.jpg  
 extracting: val2017/000000097924.jpg  
 extracting: val2017/000000091615.jpg  
 extracting: val2017/000000548246.jpg  
 extracting: val2017/000000554328.jpg  
 extracting: val2017/000000475678.jpg  
 extracting: val2017/000000110449.jpg  
 extracting: val2017/000000064898.jpg  
 extracting: val2017/000000119911.jpg  
 extracting: val2017/000000230008.jpg  
 extracting: val2017/000000092416.jpg  
 extracting: val2017/000000097994.jpg  
 extracting: val2017/000000563349.jpg  
 extracting: val2017/000000572956.jpg  
 extracting: val2017/000000048924.jpg  
 extracting: val2017/000000287714.jpg  
 extracting: val2017/000000568710.jpg  
 extracting: val2017/000000161879.jpg  
 extracting: val2017/000000532575.jpg  
 extracting: val2017/000000443498.jpg  
 extracting: val2017/000000197796.jpg  
 extracting: val2017/000000289417.jpg  
 extracting: val2017/000000466602.jpg  
 extracting: val2017/000000579091.jpg  
 extracting: val2017/000000369310.jpg  
 extracting: val2017/000000259830.jpg  
 extracting: val2017/000000189806.jpg  
 extracting: val2017/000000249550.jpg  
 extracting: val2017/000000154644.jpg  
 extracting: val2017/000000343934.jpg  
 extracting: val2017/000000273132.jpg  
 extracting: val2017/000000407524.jpg  
 extracting: val2017/000000407403.jpg  
 extracting: val2017/000000173383.jpg  
 extracting: val2017/000000283268.jpg  
 extracting: val2017/000000398203.jpg  
 extracting: val2017/000000017627.jpg  
 extracting: val2017/000000324715.jpg  
 extracting: val2017/000000461275.jpg  
 extracting: val2017/000000011197.jpg  
 extracting: val2017/000000480944.jpg  
 extracting: val2017/000000121031.jpg  
 extracting: val2017/000000195842.jpg  
 extracting: val2017/000000270066.jpg  
 extracting: val2017/000000329447.jpg  
 extracting: val2017/000000059598.jpg  
 extracting: val2017/000000183104.jpg  
 extracting: val2017/000000055002.jpg  
 extracting: val2017/000000350607.jpg  
 extracting: val2017/000000546475.jpg  
 extracting: val2017/000000431727.jpg  
 extracting: val2017/000000303818.jpg  
 extracting: val2017/000000353970.jpg  
 extracting: val2017/000000540414.jpg  
 extracting: val2017/000000452515.jpg  
 extracting: val2017/000000494634.jpg  
 extracting: val2017/000000083172.jpg  
 extracting: val2017/000000062355.jpg  
 extracting: val2017/000000018837.jpg  
 extracting: val2017/000000023781.jpg  
 extracting: val2017/000000490171.jpg  
 extracting: val2017/000000104666.jpg  
 extracting: val2017/000000455597.jpg  
 extracting: val2017/000000419096.jpg  
 extracting: val2017/000000240049.jpg  
 extracting: val2017/000000464824.jpg  
 extracting: val2017/000000343976.jpg  
 extracting: val2017/000000274219.jpg  
 extracting: val2017/000000231580.jpg  
 extracting: val2017/000000065736.jpg  
 extracting: val2017/000000352684.jpg  
 extracting: val2017/000000324258.jpg  
 extracting: val2017/000000113051.jpg  
 extracting: val2017/000000370900.jpg  
 extracting: val2017/000000040471.jpg  
 extracting: val2017/000000226662.jpg  
 extracting: val2017/000000002153.jpg  
 extracting: val2017/000000350488.jpg  
 extracting: val2017/000000151629.jpg  
 extracting: val2017/000000469067.jpg  
 extracting: val2017/000000494759.jpg  
 extracting: val2017/000000360564.jpg  
 extracting: val2017/000000097585.jpg  
 extracting: val2017/000000088970.jpg  
 extracting: val2017/000000481390.jpg  
 extracting: val2017/000000185802.jpg  
 extracting: val2017/000000579893.jpg  
 extracting: val2017/000000556765.jpg  
 extracting: val2017/000000301867.jpg  
 extracting: val2017/000000397639.jpg  
 extracting: val2017/000000142790.jpg  
 extracting: val2017/000000466567.jpg  
 extracting: val2017/000000080671.jpg  
 extracting: val2017/000000106281.jpg  
 extracting: val2017/000000547519.jpg  
 extracting: val2017/000000333237.jpg  
 extracting: val2017/000000261036.jpg  
 extracting: val2017/000000014007.jpg  
 extracting: val2017/000000331817.jpg  
 extracting: val2017/000000427997.jpg  
 extracting: val2017/000000459396.jpg  
 extracting: val2017/000000102805.jpg  
 extracting: val2017/000000227399.jpg  
 extracting: val2017/000000389381.jpg  
 extracting: val2017/000000095786.jpg  
 extracting: val2017/000000402346.jpg  
 extracting: val2017/000000358195.jpg  
 extracting: val2017/000000214200.jpg  
 extracting: val2017/000000476258.jpg  
 extracting: val2017/000000410221.jpg  
 extracting: val2017/000000310072.jpg  
 extracting: val2017/000000012120.jpg  
 extracting: val2017/000000105335.jpg  
 extracting: val2017/000000289938.jpg  
 extracting: val2017/000000377588.jpg  
 extracting: val2017/000000031248.jpg  
 extracting: val2017/000000206218.jpg  
 extracting: val2017/000000245173.jpg  
 extracting: val2017/000000340015.jpg  
 extracting: val2017/000000099428.jpg  
 extracting: val2017/000000207585.jpg  
 extracting: val2017/000000570688.jpg  
 extracting: val2017/000000396518.jpg  
 extracting: val2017/000000269682.jpg  
 extracting: val2017/000000213224.jpg  
 extracting: val2017/000000304812.jpg  
 extracting: val2017/000000032817.jpg  
 extracting: val2017/000000166259.jpg  
 extracting: val2017/000000046031.jpg  
 extracting: val2017/000000267940.jpg  
 extracting: val2017/000000493566.jpg  
 extracting: val2017/000000391722.jpg  
 extracting: val2017/000000260106.jpg  
 extracting: val2017/000000292155.jpg  
 extracting: val2017/000000360943.jpg  
 extracting: val2017/000000503823.jpg  
 extracting: val2017/000000106235.jpg  
 extracting: val2017/000000530854.jpg  
 extracting: val2017/000000433134.jpg  
 extracting: val2017/000000270386.jpg  
 extracting: val2017/000000146155.jpg  
 extracting: val2017/000000444275.jpg  
 extracting: val2017/000000178618.jpg  
 extracting: val2017/000000414261.jpg  
 extracting: val2017/000000092053.jpg  
 extracting: val2017/000000218362.jpg  
 extracting: val2017/000000054931.jpg  
 extracting: val2017/000000471893.jpg  
 extracting: val2017/000000081766.jpg  
 extracting: val2017/000000381971.jpg  
 extracting: val2017/000000203095.jpg  
 extracting: val2017/000000090631.jpg  
 extracting: val2017/000000425221.jpg  
 extracting: val2017/000000545100.jpg  
 extracting: val2017/000000198805.jpg  
 extracting: val2017/000000157124.jpg  
 extracting: val2017/000000052412.jpg  
 extracting: val2017/000000017029.jpg  
 extracting: val2017/000000073702.jpg  
 extracting: val2017/000000181859.jpg  
 extracting: val2017/000000011615.jpg  
 extracting: val2017/000000155443.jpg  
 extracting: val2017/000000369675.jpg  
 extracting: val2017/000000553339.jpg  
 extracting: val2017/000000449190.jpg  
 extracting: val2017/000000250127.jpg  
 extracting: val2017/000000270297.jpg  
 extracting: val2017/000000347693.jpg  
 extracting: val2017/000000288042.jpg  
 extracting: val2017/000000089761.jpg  
 extracting: val2017/000000000802.jpg  
 extracting: val2017/000000404249.jpg  
 extracting: val2017/000000319935.jpg  
 extracting: val2017/000000500565.jpg  
 extracting: val2017/000000323709.jpg  
 extracting: val2017/000000376856.jpg  
 extracting: val2017/000000126110.jpg  
 extracting: val2017/000000151051.jpg  
 extracting: val2017/000000218439.jpg  
 extracting: val2017/000000085772.jpg  
 extracting: val2017/000000342295.jpg  
 extracting: val2017/000000419653.jpg  
 extracting: val2017/000000554266.jpg  
 extracting: val2017/000000507575.jpg  
 extracting: val2017/000000498709.jpg  
 extracting: val2017/000000096825.jpg  
 extracting: val2017/000000015440.jpg  
 extracting: val2017/000000464089.jpg  
 extracting: val2017/000000239773.jpg  
 extracting: val2017/000000343466.jpg  
 extracting: val2017/000000565624.jpg  
 extracting: val2017/000000210388.jpg  
 extracting: val2017/000000180188.jpg  
 extracting: val2017/000000289586.jpg  
 extracting: val2017/000000363784.jpg  
 extracting: val2017/000000224675.jpg  
 extracting: val2017/000000128112.jpg  
 extracting: val2017/000000536038.jpg  
 extracting: val2017/000000128658.jpg  
 extracting: val2017/000000111609.jpg  
 extracting: val2017/000000109313.jpg  
 extracting: val2017/000000091500.jpg  
 extracting: val2017/000000443969.jpg  
 extracting: val2017/000000234413.jpg  
 extracting: val2017/000000512403.jpg  
 extracting: val2017/000000445675.jpg  
 extracting: val2017/000000294350.jpg  
 extracting: val2017/000000098392.jpg  
 extracting: val2017/000000028449.jpg  
 extracting: val2017/000000015746.jpg  
 extracting: val2017/000000257624.jpg  
 extracting: val2017/000000474095.jpg  
 extracting: val2017/000000296222.jpg  
 extracting: val2017/000000564133.jpg  
 extracting: val2017/000000435880.jpg  
 extracting: val2017/000000296231.jpg  
 extracting: val2017/000000485237.jpg  
 extracting: val2017/000000328601.jpg  
 extracting: val2017/000000355169.jpg  
 extracting: val2017/000000321887.jpg  
 extracting: val2017/000000168337.jpg  
 extracting: val2017/000000334719.jpg  
 extracting: val2017/000000155291.jpg  
 extracting: val2017/000000154358.jpg  
 extracting: val2017/000000559547.jpg  
 extracting: val2017/000000361571.jpg  
 extracting: val2017/000000389566.jpg  
 extracting: val2017/000000171298.jpg  
 extracting: val2017/000000452891.jpg  
 extracting: val2017/000000203317.jpg  
 extracting: val2017/000000338191.jpg  
 extracting: val2017/000000058111.jpg  
 extracting: val2017/000000471991.jpg  
 extracting: val2017/000000196442.jpg  
 extracting: val2017/000000294695.jpg  
 extracting: val2017/000000182611.jpg  
 extracting: val2017/000000222825.jpg  
 extracting: val2017/000000262682.jpg  
 extracting: val2017/000000364587.jpg  
 extracting: val2017/000000054654.jpg  
 extracting: val2017/000000492968.jpg  
 extracting: val2017/000000030494.jpg  
 extracting: val2017/000000038118.jpg  
 extracting: val2017/000000476415.jpg  
 extracting: val2017/000000145620.jpg  
 extracting: val2017/000000060507.jpg  
 extracting: val2017/000000263679.jpg  
 extracting: val2017/000000185950.jpg  
 extracting: val2017/000000148662.jpg  
 extracting: val2017/000000287291.jpg  
 extracting: val2017/000000062692.jpg  
 extracting: val2017/000000214703.jpg  
 extracting: val2017/000000213816.jpg  
 extracting: val2017/000000434297.jpg  
 extracting: val2017/000000476770.jpg  
 extracting: val2017/000000447187.jpg  
 extracting: val2017/000000134886.jpg  
 extracting: val2017/000000378873.jpg  
 extracting: val2017/000000067213.jpg  
 extracting: val2017/000000446207.jpg  
 extracting: val2017/000000165681.jpg  
 extracting: val2017/000000024144.jpg  
 extracting: val2017/000000439773.jpg  
 extracting: val2017/000000172595.jpg  
 extracting: val2017/000000118594.jpg  
 extracting: val2017/000000323151.jpg  
 extracting: val2017/000000571943.jpg  
 extracting: val2017/000000581100.jpg  
 extracting: val2017/000000151516.jpg  
 extracting: val2017/000000244181.jpg  
 extracting: val2017/000000273617.jpg  
 extracting: val2017/000000008762.jpg  
 extracting: val2017/000000088848.jpg  
 extracting: val2017/000000059044.jpg  
 extracting: val2017/000000050165.jpg  
 extracting: val2017/000000289343.jpg  
 extracting: val2017/000000416451.jpg  
 extracting: val2017/000000044652.jpg  
 extracting: val2017/000000314182.jpg  
 extracting: val2017/000000014439.jpg  
 extracting: val2017/000000053505.jpg  
 extracting: val2017/000000213171.jpg  
 extracting: val2017/000000502910.jpg  
 extracting: val2017/000000503755.jpg  
 extracting: val2017/000000371529.jpg  
 extracting: val2017/000000385029.jpg  
 extracting: val2017/000000515982.jpg  
 extracting: val2017/000000012280.jpg  
 extracting: val2017/000000521259.jpg  
 extracting: val2017/000000318238.jpg  
 extracting: val2017/000000544811.jpg  
 extracting: val2017/000000289229.jpg  
 extracting: val2017/000000280779.jpg  
 extracting: val2017/000000297147.jpg  
 extracting: val2017/000000239318.jpg  
 extracting: val2017/000000359833.jpg  
 extracting: val2017/000000452321.jpg  
 extracting: val2017/000000570756.jpg  
 extracting: val2017/000000080659.jpg  
 extracting: val2017/000000456143.jpg  
 extracting: val2017/000000014473.jpg  
 extracting: val2017/000000051326.jpg  
 extracting: val2017/000000054123.jpg  
 extracting: val2017/000000203546.jpg  
 extracting: val2017/000000350122.jpg  
 extracting: val2017/000000045229.jpg  
 extracting: val2017/000000560279.jpg  
 extracting: val2017/000000399764.jpg  
 extracting: val2017/000000190648.jpg  
 extracting: val2017/000000554735.jpg  
 extracting: val2017/000000248400.jpg  
 extracting: val2017/000000397681.jpg  
 extracting: val2017/000000296224.jpg  
 extracting: val2017/000000382122.jpg  
 extracting: val2017/000000223090.jpg  
 extracting: val2017/000000347254.jpg  
 extracting: val2017/000000547854.jpg  
 extracting: val2017/000000478474.jpg  
 extracting: val2017/000000529939.jpg  
 extracting: val2017/000000254516.jpg  
 extracting: val2017/000000320743.jpg  
 extracting: val2017/000000069213.jpg  
 extracting: val2017/000000187362.jpg  
 extracting: val2017/000000236784.jpg  
 extracting: val2017/000000500464.jpg  
 extracting: val2017/000000395343.jpg  
 extracting: val2017/000000180135.jpg  
 extracting: val2017/000000311883.jpg  
 extracting: val2017/000000084241.jpg  
 extracting: val2017/000000170613.jpg  
 extracting: val2017/000000063602.jpg  
 extracting: val2017/000000488592.jpg  
 extracting: val2017/000000436315.jpg  
 extracting: val2017/000000429109.jpg  
 extracting: val2017/000000409424.jpg  
 extracting: val2017/000000194506.jpg  
 extracting: val2017/000000437392.jpg  
 extracting: val2017/000000424642.jpg  
 extracting: val2017/000000465585.jpg  
 extracting: val2017/000000080022.jpg  
 extracting: val2017/000000186980.jpg  
 extracting: val2017/000000537802.jpg  
 extracting: val2017/000000302760.jpg  
 extracting: val2017/000000105249.jpg  
 extracting: val2017/000000345469.jpg  
 extracting: val2017/000000414034.jpg  
 extracting: val2017/000000289960.jpg  
 extracting: val2017/000000377368.jpg  
 extracting: val2017/000000305343.jpg  
 extracting: val2017/000000110211.jpg  
 extracting: val2017/000000560880.jpg  
 extracting: val2017/000000355610.jpg  
 extracting: val2017/000000527616.jpg  
 extracting: val2017/000000196185.jpg  
 extracting: val2017/000000546011.jpg  
 extracting: val2017/000000023272.jpg  
 extracting: val2017/000000293390.jpg  
 extracting: val2017/000000065485.jpg  
 extracting: val2017/000000013201.jpg  
 extracting: val2017/000000356531.jpg  
 extracting: val2017/000000278006.jpg  
 extracting: val2017/000000441247.jpg  
 extracting: val2017/000000329319.jpg  
 extracting: val2017/000000333697.jpg  
 extracting: val2017/000000089697.jpg  
 extracting: val2017/000000048564.jpg  
 extracting: val2017/000000540466.jpg  
 extracting: val2017/000000123633.jpg  
 extracting: val2017/000000441442.jpg  
 extracting: val2017/000000060855.jpg  
 extracting: val2017/000000183500.jpg  
 extracting: val2017/000000140987.jpg  
 extracting: val2017/000000417876.jpg  
 extracting: val2017/000000461036.jpg  
 extracting: val2017/000000130465.jpg  
 extracting: val2017/000000327306.jpg  
 extracting: val2017/000000153510.jpg  
 extracting: val2017/000000503841.jpg  
 extracting: val2017/000000493334.jpg  
 extracting: val2017/000000267933.jpg  
 extracting: val2017/000000370486.jpg  
 extracting: val2017/000000132622.jpg  
 extracting: val2017/000000530162.jpg  
 extracting: val2017/000000319696.jpg  
 extracting: val2017/000000553221.jpg  
 extracting: val2017/000000418961.jpg  
 extracting: val2017/000000359135.jpg  
 extracting: val2017/000000162543.jpg  
 extracting: val2017/000000468965.jpg  
 extracting: val2017/000000041635.jpg  
 extracting: val2017/000000404568.jpg  
 extracting: val2017/000000004495.jpg  
 extracting: val2017/000000555012.jpg  
 extracting: val2017/000000074209.jpg  
 extracting: val2017/000000476810.jpg  
 extracting: val2017/000000152771.jpg  
 extracting: val2017/000000005060.jpg  
 extracting: val2017/000000385205.jpg  
 extracting: val2017/000000210030.jpg  
 extracting: val2017/000000033109.jpg  
 extracting: val2017/000000104803.jpg  
 extracting: val2017/000000542856.jpg  
 extracting: val2017/000000120853.jpg  
 extracting: val2017/000000551304.jpg  
 extracting: val2017/000000490125.jpg  
 extracting: val2017/000000474344.jpg  
 extracting: val2017/000000217614.jpg  
 extracting: val2017/000000193717.jpg  
 extracting: val2017/000000374551.jpg  
 extracting: val2017/000000459809.jpg  
 extracting: val2017/000000567740.jpg  
 extracting: val2017/000000142971.jpg  
 extracting: val2017/000000425390.jpg  
 extracting: val2017/000000571718.jpg  
 extracting: val2017/000000450100.jpg  
 extracting: val2017/000000509008.jpg  
 extracting: val2017/000000442746.jpg  
 extracting: val2017/000000140286.jpg  
 extracting: val2017/000000306437.jpg  
 extracting: val2017/000000425925.jpg  
 extracting: val2017/000000451150.jpg  
 extracting: val2017/000000067616.jpg  
 extracting: val2017/000000127530.jpg  
 extracting: val2017/000000224119.jpg  
 extracting: val2017/000000323202.jpg  
 extracting: val2017/000000233033.jpg  
 extracting: val2017/000000283717.jpg  
 extracting: val2017/000000132931.jpg  
 extracting: val2017/000000170545.jpg  
 extracting: val2017/000000500613.jpg  
 extracting: val2017/000000386879.jpg  
 extracting: val2017/000000182202.jpg  
 extracting: val2017/000000227187.jpg  
 extracting: val2017/000000344816.jpg  
 extracting: val2017/000000435206.jpg  
 extracting: val2017/000000546659.jpg  
 extracting: val2017/000000296317.jpg  
 extracting: val2017/000000261706.jpg  
 extracting: val2017/000000408774.jpg  
 extracting: val2017/000000371042.jpg  
 extracting: val2017/000000506004.jpg  
 extracting: val2017/000000235252.jpg  
 extracting: val2017/000000562561.jpg  
 extracting: val2017/000000219271.jpg  
 extracting: val2017/000000125257.jpg  
 extracting: val2017/000000034873.jpg  
 extracting: val2017/000000053909.jpg  
 extracting: val2017/000000121673.jpg  
 extracting: val2017/000000033759.jpg  
 extracting: val2017/000000196843.jpg  
 extracting: val2017/000000502347.jpg  
 extracting: val2017/000000306582.jpg  
 extracting: val2017/000000129322.jpg  
 extracting: val2017/000000512194.jpg  
 extracting: val2017/000000192904.jpg  
 extracting: val2017/000000447522.jpg  
 extracting: val2017/000000315219.jpg  
 extracting: val2017/000000197658.jpg  
 extracting: val2017/000000089078.jpg  
 extracting: val2017/000000398652.jpg  
 extracting: val2017/000000500049.jpg  
 extracting: val2017/000000543300.jpg  
 extracting: val2017/000000148999.jpg  
 extracting: val2017/000000055022.jpg  
 extracting: val2017/000000090891.jpg  
 extracting: val2017/000000567898.jpg  
 extracting: val2017/000000002685.jpg  
 extracting: val2017/000000312720.jpg  
 extracting: val2017/000000465179.jpg  
 extracting: val2017/000000458325.jpg  
 extracting: val2017/000000540932.jpg  
 extracting: val2017/000000184321.jpg  
 extracting: val2017/000000068628.jpg  
 extracting: val2017/000000026204.jpg  
 extracting: val2017/000000170278.jpg  
 extracting: val2017/000000288062.jpg  
 extracting: val2017/000000201934.jpg  
 extracting: val2017/000000527220.jpg  
 extracting: val2017/000000318908.jpg  
 extracting: val2017/000000404128.jpg  
 extracting: val2017/000000019432.jpg  
 extracting: val2017/000000003845.jpg  
 extracting: val2017/000000323263.jpg  
 extracting: val2017/000000115870.jpg  
 extracting: val2017/000000338304.jpg  
 extracting: val2017/000000580294.jpg  
 extracting: val2017/000000201426.jpg  
 extracting: val2017/000000437239.jpg  
 extracting: val2017/000000265777.jpg  
 extracting: val2017/000000348481.jpg  
 extracting: val2017/000000443426.jpg  
 extracting: val2017/000000292225.jpg  
 extracting: val2017/000000553990.jpg  
 extracting: val2017/000000081594.jpg  
 extracting: val2017/000000082807.jpg  
 extracting: val2017/000000348708.jpg  
 extracting: val2017/000000500716.jpg  
 extracting: val2017/000000312549.jpg  
 extracting: val2017/000000000872.jpg  
 extracting: val2017/000000456865.jpg  
 extracting: val2017/000000442306.jpg  
 extracting: val2017/000000497568.jpg  
 extracting: val2017/000000091921.jpg  
 extracting: val2017/000000578093.jpg  
 extracting: val2017/000000014038.jpg  
 extracting: val2017/000000134112.jpg  
 extracting: val2017/000000358923.jpg  
 extracting: val2017/000000166287.jpg  
 extracting: val2017/000000179642.jpg  
 extracting: val2017/000000082821.jpg  
 extracting: val2017/000000124798.jpg  
 extracting: val2017/000000522393.jpg  
 extracting: val2017/000000007818.jpg  
 extracting: val2017/000000002149.jpg  
 extracting: val2017/000000562207.jpg  
 extracting: val2017/000000356347.jpg  
 extracting: val2017/000000466125.jpg  
 extracting: val2017/000000395903.jpg  
 extracting: val2017/000000420281.jpg  
 extracting: val2017/000000400367.jpg  
 extracting: val2017/000000175387.jpg  
 extracting: val2017/000000341681.jpg  
 extracting: val2017/000000329455.jpg  
 extracting: val2017/000000108253.jpg  
 extracting: val2017/000000226883.jpg  
 extracting: val2017/000000449406.jpg  
 extracting: val2017/000000007511.jpg  
 extracting: val2017/000000573943.jpg  
 extracting: val2017/000000001993.jpg  
 extracting: val2017/000000310980.jpg  
 extracting: val2017/000000107094.jpg  
 extracting: val2017/000000096001.jpg  
 extracting: val2017/000000502136.jpg  
 extracting: val2017/000000245026.jpg  
 extracting: val2017/000000186637.jpg  
 extracting: val2017/000000020333.jpg  
 extracting: val2017/000000127987.jpg  
 extracting: val2017/000000561679.jpg  
 extracting: val2017/000000033005.jpg  
 extracting: val2017/000000127394.jpg  
 extracting: val2017/000000009769.jpg  
 extracting: val2017/000000570664.jpg  
 extracting: val2017/000000188465.jpg  
 extracting: val2017/000000549136.jpg  
 extracting: val2017/000000042563.jpg  
 extracting: val2017/000000297343.jpg  
 extracting: val2017/000000209142.jpg  
 extracting: val2017/000000465129.jpg  
 extracting: val2017/000000116589.jpg  
 extracting: val2017/000000581781.jpg  
 extracting: val2017/000000027932.jpg  
 extracting: val2017/000000555412.jpg  
 extracting: val2017/000000389804.jpg  
 extracting: val2017/000000241297.jpg  
 extracting: val2017/000000052507.jpg  
 extracting: val2017/000000100238.jpg  
 extracting: val2017/000000261796.jpg  
 extracting: val2017/000000055072.jpg  
 extracting: val2017/000000476704.jpg  
 extracting: val2017/000000573008.jpg  
 extracting: val2017/000000304545.jpg  
 extracting: val2017/000000268729.jpg  
 extracting: val2017/000000508482.jpg  
 extracting: val2017/000000019786.jpg  
 extracting: val2017/000000384661.jpg  
 extracting: val2017/000000301061.jpg  
 extracting: val2017/000000427055.jpg  
 extracting: val2017/000000103723.jpg  
 extracting: val2017/000000254368.jpg  
 extracting: val2017/000000219283.jpg  
 extracting: val2017/000000576654.jpg  
 extracting: val2017/000000519764.jpg  
 extracting: val2017/000000302030.jpg  
 extracting: val2017/000000177213.jpg  
 extracting: val2017/000000183716.jpg  
 extracting: val2017/000000535858.jpg  
 extracting: val2017/000000116439.jpg  
 extracting: val2017/000000043314.jpg  
 extracting: val2017/000000479448.jpg  
 extracting: val2017/000000547144.jpg  
 extracting: val2017/000000221155.jpg  
 extracting: val2017/000000463730.jpg  
 extracting: val2017/000000207538.jpg  
 extracting: val2017/000000080273.jpg  
 extracting: val2017/000000407943.jpg  
 extracting: val2017/000000158227.jpg  
 extracting: val2017/000000407298.jpg  
 extracting: val2017/000000477441.jpg  
 extracting: val2017/000000128372.jpg  
 extracting: val2017/000000074200.jpg  
 extracting: val2017/000000322724.jpg  
 extracting: val2017/000000569976.jpg  
 extracting: val2017/000000191845.jpg  
 extracting: val2017/000000110359.jpg  
 extracting: val2017/000000299887.jpg  
 extracting: val2017/000000227491.jpg  
 extracting: val2017/000000187055.jpg  
 extracting: val2017/000000159399.jpg  
 extracting: val2017/000000369037.jpg  
 extracting: val2017/000000100582.jpg  
 extracting: val2017/000000549055.jpg  
 extracting: val2017/000000074058.jpg  
 extracting: val2017/000000429530.jpg  
 extracting: val2017/000000284282.jpg  
 extracting: val2017/000000076417.jpg  
 extracting: val2017/000000563267.jpg  
 extracting: val2017/000000453166.jpg  
 extracting: val2017/000000563281.jpg  
 extracting: val2017/000000205514.jpg  
 extracting: val2017/000000021903.jpg  
 extracting: val2017/000000109441.jpg  
 extracting: val2017/000000183246.jpg  
 extracting: val2017/000000064523.jpg  
 extracting: val2017/000000070774.jpg  
 extracting: val2017/000000499109.jpg  
 extracting: val2017/000000105014.jpg  
 extracting: val2017/000000515445.jpg  
 extracting: val2017/000000363207.jpg  
 extracting: val2017/000000169076.jpg  
 extracting: val2017/000000031296.jpg  
 extracting: val2017/000000521601.jpg  
 extracting: val2017/000000263644.jpg  
 extracting: val2017/000000523782.jpg  
 extracting: val2017/000000366611.jpg  
 extracting: val2017/000000271997.jpg  
 extracting: val2017/000000053624.jpg  
 extracting: val2017/000000407825.jpg  
 extracting: val2017/000000475223.jpg  
 extracting: val2017/000000482436.jpg  
 extracting: val2017/000000306733.jpg  
 extracting: val2017/000000412362.jpg  
 extracting: val2017/000000052565.jpg  
 extracting: val2017/000000189828.jpg  
 extracting: val2017/000000520707.jpg  
 extracting: val2017/000000449996.jpg  
 extracting: val2017/000000221213.jpg  
 extracting: val2017/000000374545.jpg  
 extracting: val2017/000000555705.jpg  
 extracting: val2017/000000426372.jpg  
 extracting: val2017/000000374369.jpg  
 extracting: val2017/000000404479.jpg  
 extracting: val2017/000000313783.jpg  
 extracting: val2017/000000243034.jpg  
 extracting: val2017/000000289594.jpg  
 extracting: val2017/000000521819.jpg  
 extracting: val2017/000000218424.jpg  
 extracting: val2017/000000431876.jpg  
 extracting: val2017/000000309655.jpg  
 extracting: val2017/000000469174.jpg  
 extracting: val2017/000000049259.jpg  
 extracting: val2017/000000438017.jpg  
 extracting: val2017/000000515025.jpg  
 extracting: val2017/000000402765.jpg  
 extracting: val2017/000000066231.jpg  
 extracting: val2017/000000154425.jpg  
 extracting: val2017/000000377000.jpg  
 extracting: val2017/000000520077.jpg  
 extracting: val2017/000000033221.jpg  
 extracting: val2017/000000519491.jpg  
 extracting: val2017/000000223959.jpg  
 extracting: val2017/000000188689.jpg  
 extracting: val2017/000000079969.jpg  
 extracting: val2017/000000221872.jpg  
 extracting: val2017/000000365385.jpg  
 extracting: val2017/000000140583.jpg  
 extracting: val2017/000000304560.jpg  
 extracting: val2017/000000323828.jpg  
 extracting: val2017/000000296634.jpg  
 extracting: val2017/000000170893.jpg  
 extracting: val2017/000000534270.jpg  
 extracting: val2017/000000049761.jpg  
 extracting: val2017/000000240940.jpg  
 extracting: val2017/000000471567.jpg  
 extracting: val2017/000000262440.jpg  
 extracting: val2017/000000304291.jpg  
 extracting: val2017/000000038048.jpg  
 extracting: val2017/000000515577.jpg  
 extracting: val2017/000000378116.jpg  
 extracting: val2017/000000371699.jpg  
 extracting: val2017/000000435081.jpg  
 extracting: val2017/000000155154.jpg  
 extracting: val2017/000000565012.jpg  
 extracting: val2017/000000284764.jpg  
 extracting: val2017/000000071711.jpg  
 extracting: val2017/000000565778.jpg  
 extracting: val2017/000000107851.jpg  
 extracting: val2017/000000516677.jpg  
 extracting: val2017/000000205105.jpg  
 extracting: val2017/000000144114.jpg  
 extracting: val2017/000000104612.jpg  
 extracting: val2017/000000037740.jpg  
 extracting: val2017/000000519338.jpg  
 extracting: val2017/000000240023.jpg  
 extracting: val2017/000000032941.jpg  
 extracting: val2017/000000500257.jpg  
 extracting: val2017/000000554838.jpg  
 extracting: val2017/000000292082.jpg  
 extracting: val2017/000000176634.jpg  
 extracting: val2017/000000212573.jpg  
 extracting: val2017/000000437898.jpg  
 extracting: val2017/000000328030.jpg  
 extracting: val2017/000000047010.jpg  
 extracting: val2017/000000199236.jpg  
 extracting: val2017/000000360137.jpg  
 extracting: val2017/000000157767.jpg  
 extracting: val2017/000000200667.jpg  
 extracting: val2017/000000053529.jpg  
 extracting: val2017/000000190676.jpg  
 extracting: val2017/000000154431.jpg  
 extracting: val2017/000000352582.jpg  
 extracting: val2017/000000367818.jpg  
 extracting: val2017/000000272212.jpg  
 extracting: val2017/000000531135.jpg  
 extracting: val2017/000000410487.jpg  
 extracting: val2017/000000090108.jpg  
 extracting: val2017/000000575500.jpg  
 extracting: val2017/000000082986.jpg  
 extracting: val2017/000000449661.jpg  
 extracting: val2017/000000384666.jpg  
 extracting: val2017/000000569700.jpg  
 extracting: val2017/000000264968.jpg  
 extracting: val2017/000000213593.jpg  
 extracting: val2017/000000293804.jpg  
 extracting: val2017/000000511076.jpg  
 extracting: val2017/000000061171.jpg  
 extracting: val2017/000000033707.jpg  
 extracting: val2017/000000424975.jpg  
 extracting: val2017/000000217219.jpg  
 extracting: val2017/000000427160.jpg  
 extracting: val2017/000000410934.jpg  
 extracting: val2017/000000214753.jpg  
 extracting: val2017/000000186422.jpg  
 extracting: val2017/000000034417.jpg  
 extracting: val2017/000000176232.jpg  
 extracting: val2017/000000176847.jpg  
 extracting: val2017/000000172547.jpg  
 extracting: val2017/000000423798.jpg  
 extracting: val2017/000000183437.jpg  
 extracting: val2017/000000501023.jpg  
 extracting: val2017/000000203639.jpg  
 extracting: val2017/000000376284.jpg  
 extracting: val2017/000000017905.jpg  
 extracting: val2017/000000078170.jpg  
 extracting: val2017/000000022969.jpg  
 extracting: val2017/000000270908.jpg  
 extracting: val2017/000000520531.jpg  
 extracting: val2017/000000114049.jpg  
 extracting: val2017/000000532058.jpg  
 extracting: val2017/000000427034.jpg  
 extracting: val2017/000000067534.jpg  
 extracting: val2017/000000184338.jpg  
 extracting: val2017/000000358525.jpg  
 extracting: val2017/000000365095.jpg  
 extracting: val2017/000000342397.jpg  
 extracting: val2017/000000168619.jpg  
 extracting: val2017/000000225184.jpg  
 extracting: val2017/000000094336.jpg  
 extracting: val2017/000000063047.jpg  
 extracting: val2017/000000133244.jpg  
 extracting: val2017/000000096549.jpg  
 extracting: val2017/000000266981.jpg  
 extracting: val2017/000000162035.jpg  
 extracting: val2017/000000408830.jpg  
 extracting: val2017/000000164637.jpg  
 extracting: val2017/000000215114.jpg  
 extracting: val2017/000000403122.jpg  
 extracting: val2017/000000580418.jpg  
 extracting: val2017/000000170739.jpg  
 extracting: val2017/000000451084.jpg  
 extracting: val2017/000000119828.jpg  
 extracting: val2017/000000223182.jpg  
 extracting: val2017/000000531495.jpg  
 extracting: val2017/000000317999.jpg  
 extracting: val2017/000000568690.jpg  
 extracting: val2017/000000516871.jpg  
 extracting: val2017/000000184324.jpg  
 extracting: val2017/000000228436.jpg  
 extracting: val2017/000000162581.jpg  
 extracting: val2017/000000426329.jpg  
 extracting: val2017/000000420840.jpg  
 extracting: val2017/000000473015.jpg  
 extracting: val2017/000000239627.jpg  
 extracting: val2017/000000541952.jpg  
 extracting: val2017/000000223747.jpg  
 extracting: val2017/000000481413.jpg  
 extracting: val2017/000000539445.jpg  
 extracting: val2017/000000357941.jpg  
 extracting: val2017/000000410456.jpg  
 extracting: val2017/000000222299.jpg  
 extracting: val2017/000000489924.jpg  
 extracting: val2017/000000058029.jpg  
 extracting: val2017/000000243075.jpg  
 extracting: val2017/000000137294.jpg  
 extracting: val2017/000000569059.jpg  
 extracting: val2017/000000370375.jpg  
 extracting: val2017/000000099810.jpg  
 extracting: val2017/000000122672.jpg  
 extracting: val2017/000000186449.jpg  
 extracting: val2017/000000445792.jpg  
 extracting: val2017/000000375493.jpg  
 extracting: val2017/000000183127.jpg  
 extracting: val2017/000000380711.jpg  
 extracting: val2017/000000442836.jpg  
 extracting: val2017/000000491071.jpg  
 extracting: val2017/000000026564.jpg  
 extracting: val2017/000000367082.jpg  
 extracting: val2017/000000464144.jpg  
 extracting: val2017/000000535306.jpg  
 extracting: val2017/000000463037.jpg  
 extracting: val2017/000000409198.jpg  
 extracting: val2017/000000445846.jpg  
 extracting: val2017/000000257865.jpg  
 extracting: val2017/000000166509.jpg  
 extracting: val2017/000000056344.jpg  
 extracting: val2017/000000069795.jpg  
 extracting: val2017/000000250619.jpg  
 extracting: val2017/000000173183.jpg  
 extracting: val2017/000000533855.jpg  
 extracting: val2017/000000364297.jpg  
 extracting: val2017/000000451571.jpg  
 extracting: val2017/000000025096.jpg  
 extracting: val2017/000000422836.jpg  
 extracting: val2017/000000078404.jpg  
 extracting: val2017/000000043816.jpg  
 extracting: val2017/000000528862.jpg  
 extracting: val2017/000000088462.jpg  
 extracting: val2017/000000253695.jpg  
 extracting: val2017/000000147729.jpg  
 extracting: val2017/000000079014.jpg  
 extracting: val2017/000000202001.jpg  
 extracting: val2017/000000244019.jpg  
 extracting: val2017/000000544306.jpg  
 extracting: val2017/000000259382.jpg  
 extracting: val2017/000000304365.jpg  
 extracting: val2017/000000301421.jpg  
 extracting: val2017/000000020571.jpg  
 extracting: val2017/000000157601.jpg  
 extracting: val2017/000000468505.jpg  
 extracting: val2017/000000088265.jpg  
 extracting: val2017/000000027696.jpg  
 extracting: val2017/000000234807.jpg  
 extracting: val2017/000000547383.jpg  
 extracting: val2017/000000499775.jpg  
 extracting: val2017/000000158660.jpg  
 extracting: val2017/000000173008.jpg  
 extracting: val2017/000000216516.jpg  
 extracting: val2017/000000071877.jpg  
 extracting: val2017/000000153669.jpg  
 extracting: val2017/000000520009.jpg  
 extracting: val2017/000000179112.jpg  
 extracting: val2017/000000378099.jpg  
 extracting: val2017/000000562197.jpg  
 extracting: val2017/000000130586.jpg  
 extracting: val2017/000000329456.jpg  
 extracting: val2017/000000314541.jpg  
 extracting: val2017/000000286907.jpg  
 extracting: val2017/000000000632.jpg  
 extracting: val2017/000000460147.jpg  
 extracting: val2017/000000249129.jpg  
 extracting: val2017/000000379800.jpg  
 extracting: val2017/000000029640.jpg  
 extracting: val2017/000000150638.jpg  
 extracting: val2017/000000480985.jpg  
 extracting: val2017/000000389532.jpg  
 extracting: val2017/000000351362.jpg  
 extracting: val2017/000000015338.jpg  
 extracting: val2017/000000492110.jpg  
 extracting: val2017/000000361103.jpg  
 extracting: val2017/000000375015.jpg  
 extracting: val2017/000000062025.jpg  
 extracting: val2017/000000370999.jpg  
 extracting: val2017/000000004134.jpg  
 extracting: val2017/000000057725.jpg  
 extracting: val2017/000000441286.jpg  
 extracting: val2017/000000377486.jpg  
 extracting: val2017/000000016451.jpg  
 extracting: val2017/000000347456.jpg  
 extracting: val2017/000000367195.jpg  
 extracting: val2017/000000269196.jpg  
 extracting: val2017/000000011699.jpg  
 extracting: val2017/000000309495.jpg  
 extracting: val2017/000000011813.jpg  
 extracting: val2017/000000237071.jpg  
 extracting: val2017/000000272566.jpg  
 extracting: val2017/000000132796.jpg  
 extracting: val2017/000000384949.jpg  
 extracting: val2017/000000276055.jpg  
 extracting: val2017/000000236721.jpg  
 extracting: val2017/000000286523.jpg  
 extracting: val2017/000000024027.jpg  
 extracting: val2017/000000462614.jpg  
 extracting: val2017/000000345261.jpg  
 extracting: val2017/000000295316.jpg  
 extracting: val2017/000000190637.jpg  
 extracting: val2017/000000172617.jpg  
 extracting: val2017/000000093717.jpg  
 extracting: val2017/000000425702.jpg  
 extracting: val2017/000000522889.jpg  
 extracting: val2017/000000160556.jpg  
 extracting: val2017/000000553511.jpg  
 extracting: val2017/000000170099.jpg  
 extracting: val2017/000000173799.jpg  
 extracting: val2017/000000488736.jpg  
 extracting: val2017/000000301135.jpg  
 extracting: val2017/000000018491.jpg  
 extracting: val2017/000000124277.jpg  
 extracting: val2017/000000488673.jpg  
 extracting: val2017/000000533816.jpg  
 extracting: val2017/000000172935.jpg  
 extracting: val2017/000000137576.jpg  
 extracting: val2017/000000520264.jpg  
 extracting: val2017/000000410650.jpg  
 extracting: val2017/000000117914.jpg  
 extracting: val2017/000000338901.jpg  
 extracting: val2017/000000223955.jpg  
 extracting: val2017/000000030675.jpg  
 extracting: val2017/000000530061.jpg  
 extracting: val2017/000000335954.jpg  
 extracting: val2017/000000428218.jpg  
 extracting: val2017/000000192670.jpg  
 extracting: val2017/000000447465.jpg  
 extracting: val2017/000000144984.jpg  
 extracting: val2017/000000212559.jpg  
 extracting: val2017/000000466339.jpg  
 extracting: val2017/000000015335.jpg  
 extracting: val2017/000000156924.jpg  
 extracting: val2017/000000211825.jpg  
 extracting: val2017/000000162732.jpg  
 extracting: val2017/000000118367.jpg  
 extracting: val2017/000000435208.jpg  
 extracting: val2017/000000341828.jpg  
 extracting: val2017/000000475365.jpg  
 extracting: val2017/000000493613.jpg  
 extracting: val2017/000000562581.jpg  
 extracting: val2017/000000047585.jpg  
 extracting: val2017/000000261535.jpg  
 extracting: val2017/000000306139.jpg  
 extracting: val2017/000000011051.jpg  
 extracting: val2017/000000086755.jpg  
 extracting: val2017/000000205289.jpg  
 extracting: val2017/000000149375.jpg  
 extracting: val2017/000000193245.jpg  
 extracting: val2017/000000216277.jpg  
 extracting: val2017/000000035197.jpg  
 extracting: val2017/000000048504.jpg  
 extracting: val2017/000000429011.jpg  
 extracting: val2017/000000217957.jpg  
 extracting: val2017/000000322895.jpg  
 extracting: val2017/000000015079.jpg  
 extracting: val2017/000000431140.jpg  
 extracting: val2017/000000169356.jpg  
 extracting: val2017/000000408696.jpg  
 extracting: val2017/000000338325.jpg  
 extracting: val2017/000000250137.jpg  
 extracting: val2017/000000454404.jpg  
 extracting: val2017/000000421060.jpg  
 extracting: val2017/000000073326.jpg  
 extracting: val2017/000000410878.jpg  
 extracting: val2017/000000292908.jpg  
 extracting: val2017/000000350679.jpg  
 extracting: val2017/000000390301.jpg  
 extracting: val2017/000000213547.jpg  
 extracting: val2017/000000087244.jpg  
 extracting: val2017/000000253819.jpg  
 extracting: val2017/000000192699.jpg  
 extracting: val2017/000000260261.jpg  
 extracting: val2017/000000044279.jpg  
 extracting: val2017/000000306136.jpg  
 extracting: val2017/000000066771.jpg  
 extracting: val2017/000000355257.jpg  
 extracting: val2017/000000548339.jpg  
 extracting: val2017/000000125062.jpg  
 extracting: val2017/000000078565.jpg  
 extracting: val2017/000000332845.jpg  
 extracting: val2017/000000298904.jpg  
 extracting: val2017/000000437351.jpg  
 extracting: val2017/000000232646.jpg  
 extracting: val2017/000000153217.jpg  
 extracting: val2017/000000377946.jpg  
 extracting: val2017/000000478136.jpg  
 extracting: val2017/000000458992.jpg  
 extracting: val2017/000000495448.jpg  
 extracting: val2017/000000221708.jpg  
 extracting: val2017/000000152214.jpg  
 extracting: val2017/000000493019.jpg  
 extracting: val2017/000000459195.jpg  
 extracting: val2017/000000135890.jpg  
 extracting: val2017/000000012062.jpg  
 extracting: val2017/000000349860.jpg  
 extracting: val2017/000000246436.jpg  
 extracting: val2017/000000474854.jpg  
 extracting: val2017/000000388903.jpg  
 extracting: val2017/000000156643.jpg  
 extracting: val2017/000000030828.jpg  
 extracting: val2017/000000318138.jpg  
 extracting: val2017/000000368456.jpg  
 extracting: val2017/000000156292.jpg  
 extracting: val2017/000000355905.jpg  
 extracting: val2017/000000016598.jpg  
 extracting: val2017/000000125472.jpg  
 extracting: val2017/000000037670.jpg  
 extracting: val2017/000000178744.jpg  
 extracting: val2017/000000382009.jpg  
 extracting: val2017/000000276024.jpg  
 extracting: val2017/000000345027.jpg  
 extracting: val2017/000000377113.jpg  
 extracting: val2017/000000140556.jpg  
 extracting: val2017/000000000139.jpg  
 extracting: val2017/000000525155.jpg  
 extracting: val2017/000000217753.jpg  
 extracting: val2017/000000215259.jpg  
 extracting: val2017/000000119365.jpg  
 extracting: val2017/000000276707.jpg  
 extracting: val2017/000000072852.jpg  
 extracting: val2017/000000377814.jpg  
 extracting: val2017/000000222118.jpg  
 extracting: val2017/000000404922.jpg  
 extracting: val2017/000000296649.jpg  
 extracting: val2017/000000161032.jpg  
 extracting: val2017/000000005529.jpg  
 extracting: val2017/000000322864.jpg  
 extracting: val2017/000000194716.jpg  
 extracting: val2017/000000175364.jpg  
 extracting: val2017/000000001268.jpg  
 extracting: val2017/000000018193.jpg  
 extracting: val2017/000000515266.jpg  
 extracting: val2017/000000335081.jpg  
 extracting: val2017/000000094614.jpg  
 extracting: val2017/000000128748.jpg  
 extracting: val2017/000000568439.jpg  
 extracting: val2017/000000104198.jpg  
 extracting: val2017/000000003501.jpg  
 extracting: val2017/000000138492.jpg  
 extracting: val2017/000000228942.jpg  
 extracting: val2017/000000516143.jpg  
 extracting: val2017/000000179214.jpg  
 extracting: val2017/000000531707.jpg  
 extracting: val2017/000000298994.jpg  
 extracting: val2017/000000020107.jpg  
 extracting: val2017/000000241677.jpg  
 extracting: val2017/000000284725.jpg  
 extracting: val2017/000000117908.jpg  
 extracting: val2017/000000226058.jpg  
 extracting: val2017/000000506454.jpg  
 extracting: val2017/000000042888.jpg  
 extracting: val2017/000000167486.jpg  
 extracting: val2017/000000279927.jpg  
 extracting: val2017/000000383289.jpg  
 extracting: val2017/000000190236.jpg  
 extracting: val2017/000000375078.jpg  
 extracting: val2017/000000472030.jpg  
 extracting: val2017/000000447789.jpg  
 extracting: val2017/000000496409.jpg  
 extracting: val2017/000000263969.jpg  
 extracting: val2017/000000293474.jpg  
 extracting: val2017/000000025386.jpg  
 extracting: val2017/000000112634.jpg  
 extracting: val2017/000000186624.jpg  
 extracting: val2017/000000515077.jpg  
 extracting: val2017/000000523194.jpg  
 extracting: val2017/000000204871.jpg  
 extracting: val2017/000000257084.jpg  
 extracting: val2017/000000311392.jpg  
 extracting: val2017/000000191761.jpg  
 extracting: val2017/000000394328.jpg  
 extracting: val2017/000000162092.jpg  
 extracting: val2017/000000355325.jpg  
 extracting: val2017/000000027620.jpg  
 extracting: val2017/000000378453.jpg  
 extracting: val2017/000000330554.jpg  
 extracting: val2017/000000372819.jpg  
 extracting: val2017/000000526706.jpg  
 extracting: val2017/000000338986.jpg  
 extracting: val2017/000000561009.jpg  
 extracting: val2017/000000571008.jpg  
 extracting: val2017/000000154705.jpg  
 extracting: val2017/000000328286.jpg  
 extracting: val2017/000000116208.jpg  
 extracting: val2017/000000263860.jpg  
 extracting: val2017/000000229221.jpg  
 extracting: val2017/000000007108.jpg  
 extracting: val2017/000000252507.jpg  
 extracting: val2017/000000281759.jpg  
 extracting: val2017/000000523100.jpg  
 extracting: val2017/000000165713.jpg  
 extracting: val2017/000000242724.jpg  
 extracting: val2017/000000234779.jpg  
 extracting: val2017/000000465675.jpg  
 extracting: val2017/000000504000.jpg  
 extracting: val2017/000000298251.jpg  
 extracting: val2017/000000015660.jpg  
 extracting: val2017/000000111086.jpg  
 extracting: val2017/000000279730.jpg  
 extracting: val2017/000000331075.jpg  
 extracting: val2017/000000336587.jpg  
 extracting: val2017/000000350002.jpg  
 extracting: val2017/000000390555.jpg  
 extracting: val2017/000000018380.jpg  
 extracting: val2017/000000114907.jpg  
 extracting: val2017/000000357978.jpg  
 extracting: val2017/000000133819.jpg  
 extracting: val2017/000000487583.jpg  
 extracting: val2017/000000278705.jpg  
 extracting: val2017/000000380706.jpg  
 extracting: val2017/000000229111.jpg  
 extracting: val2017/000000283038.jpg  
 extracting: val2017/000000365655.jpg  
 extracting: val2017/000000049269.jpg  
 extracting: val2017/000000402118.jpg  
 extracting: val2017/000000239537.jpg  
 extracting: val2017/000000298738.jpg  
 extracting: val2017/000000334371.jpg  
 extracting: val2017/000000263403.jpg  
 extracting: val2017/000000106563.jpg  
 extracting: val2017/000000449603.jpg  
 extracting: val2017/000000346232.jpg  
 extracting: val2017/000000248284.jpg  
 extracting: val2017/000000572620.jpg  
 extracting: val2017/000000395701.jpg  
 extracting: val2017/000000054164.jpg  
 extracting: val2017/000000171382.jpg  
 extracting: val2017/000000513181.jpg  
 extracting: val2017/000000161781.jpg  
 extracting: val2017/000000394199.jpg  
 extracting: val2017/000000301718.jpg  
 extracting: val2017/000000555050.jpg  
 extracting: val2017/000000388846.jpg  
 extracting: val2017/000000323895.jpg  
 extracting: val2017/000000234660.jpg  
 extracting: val2017/000000343453.jpg  
 extracting: val2017/000000540928.jpg  
 extracting: val2017/000000190756.jpg  
 extracting: val2017/000000068387.jpg  
 extracting: val2017/000000151000.jpg  
 extracting: val2017/000000244592.jpg  
 extracting: val2017/000000158956.jpg  
 extracting: val2017/000000058636.jpg  
 extracting: val2017/000000326174.jpg  
 extracting: val2017/000000241319.jpg  
 extracting: val2017/000000244379.jpg  
 extracting: val2017/000000263796.jpg  
 extracting: val2017/000000176799.jpg  
 extracting: val2017/000000491867.jpg  
 extracting: val2017/000000017899.jpg  
 extracting: val2017/000000455716.jpg  
 extracting: val2017/000000284991.jpg  
 extracting: val2017/000000084431.jpg  
 extracting: val2017/000000284762.jpg  
 extracting: val2017/000000255536.jpg  
 extracting: val2017/000000043435.jpg  
 extracting: val2017/000000546325.jpg  
 extracting: val2017/000000291619.jpg  
 extracting: val2017/000000512648.jpg  
 extracting: val2017/000000014226.jpg  
 extracting: val2017/000000084492.jpg  
 extracting: val2017/000000376478.jpg  
 extracting: val2017/000000124636.jpg  
 extracting: val2017/000000564091.jpg  
 extracting: val2017/000000477689.jpg  
 extracting: val2017/000000523957.jpg  
 extracting: val2017/000000570539.jpg  
 extracting: val2017/000000470121.jpg  
 extracting: val2017/000000199442.jpg  
 extracting: val2017/000000563653.jpg  
 extracting: val2017/000000181421.jpg  
 extracting: val2017/000000302990.jpg  
 extracting: val2017/000000446005.jpg  
 extracting: val2017/000000329219.jpg  
 extracting: val2017/000000388258.jpg  
 extracting: val2017/000000126137.jpg  
 extracting: val2017/000000500826.jpg  
In [ ]:
#Removing Zip Files to save up storage
!rm /content/annotations_trainval2017.zip
!rm /content/test2017.zip
!rm /content/train2017.zip
!rm /content/val2017.zip
In [ ]:
#Importing Libraries required for this section
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import skimage.io as io
import cv2
!pip install pycocotools
from pycocotools.coco import COCO
import random
import tensorflow as tf

from progressbar import ProgressBar
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Requirement already satisfied: pycocotools in /usr/local/lib/python3.8/dist-packages (2.0.6)
Requirement already satisfied: matplotlib>=2.1.0 in /usr/local/lib/python3.8/dist-packages (from pycocotools) (3.2.2)
Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from pycocotools) (1.21.6)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.1.0->pycocotools) (1.4.4)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.1.0->pycocotools) (3.0.9)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.1.0->pycocotools) (2.8.2)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.1.0->pycocotools) (0.11.0)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.8/dist-packages (from python-dateutil>=2.1->matplotlib>=2.1.0->pycocotools) (1.15.0)
In [ ]:
datadir = "/content/"

#These are the classes we need - 25 classes
classes = ['person', 'car', 'bus', 'truck', 'traffic light', 'bench', 'cat', 'dog', 'backpack', 
           'umbrella', 'handbag', 'sports ball', 'bottle', 'cup', 'knife', 'bowl', 'chair', 'couch', 
           'potted plant', 'dining table', 'tv', 'cell phone', 'sink', 'book', 'clock']
    
#Loading annotation files in the memory
coco_train = COCO(f"{datadir}/annotations/instances_train2017.json")
coco_val = COCO(f"{datadir}/annotations/instances_val2017.json")
In [ ]:
#Fetching Category IDs and creating dictionaries for translation
catIDs = coco_train.getCatIds() #This list only contains numbers
cats = coco_train.loadCats(catIDs) #This contains all the information about a particular category as dictionaries

#We're interested in just class ID and Name
name_to_id = {}

for d in cats: #Iterating over all class dictionaries
        if d['name'] in classes: #If the class is in our list of classes
            name_to_id[d['name']] = d['id']#Add it into our dictionary

#Class ID to Name -> Just a reverse of the above created dictionary
id_to_name = {}
for key, val in name_to_id.items():
    id_to_name[val] = key
In [ ]:
#Dictionary IDs for our classes
pd.DataFrame(name_to_id, index=['ID']).T
In [ ]:
#Now we'll extract Image IDs
def create_images_dict(data = 'train'):
    #Loading the Annotation File
    if data == 'train':
        coco = coco_train
    elif data == 'val':
        coco = coco_val
    
    all_images = set() #Choosing set to make sure there are no duplicates

    #Iterate over all class IDs
    for cls, ids in name_to_id.items():
        #Fetch image ids for each class one at a time
        imgids = coco.getImgIds(catIds = [ids])

        #Add it into our set of image ids
        all_images = all_images.union(set(imgids))
    
    all_images = list(all_images)#Converting our set into a list
    return coco.loadImgs(all_images) #returning a dictionary file containing information of all the image IDs

#Extracting Image Information
train_images = create_images_dict(data='train')
val_images = create_images_dict(data='val')
In [ ]:
#This is how information is structured in the json file for one image
train_images[0]

#We'll use image id and file name. 
#File name to read the image from disk and image id to fetch annotations
Out[ ]:
{'license': 2,
 'file_name': '000000262145.jpg',
 'coco_url': 'http://images.cocodataset.org/train2017/000000262145.jpg',
 'height': 427,
 'width': 640,
 'date_captured': '2013-11-20 02:07:55',
 'flickr_url': 'http://farm8.staticflickr.com/7187/6967031859_5f08387bde_z.jpg',
 'id': 262145}
In [ ]:
print('Length of Training Data: ', len(train_images))
print('Length of Validation Data: ', len(val_images))
Length of Training Data:  95037
Length of Validation Data:  4027
In [ ]:
#We'll take 60% of the train data
0.6 * len(train_images)
Out[ ]:
57022.2
In [ ]:
#Function for fetching an image and it's corresponding mask
def read_img(d, data='train'):
    """
    Reads an image and mask from it's dictionary file retrieved via pycoco
    """
    
    #We'll resize every image to 224x224
    image_size = (224,224)
    if data == 'train':
        coco = coco_train
    elif data == 'val':
        coco = coco_val
    
    #Reading the Image
    X = io.imread(datadir+'/'+data+'2017/'+d['file_name'])
#     if len(X.shape) > 2: #Some images are already grayscaled
#         X = rgb2gray(X) #Grayscale
    
    X = cv2.resize(X, image_size) #We're not normalizing it yet
    
    #Creating onehot encoded mask - 0 for background, from 1 to 25 for the classes in the order specified above
    mask = np.zeros((224, 224, 26))
        
    for idx, c in enumerate(name_to_id.values()):
        annids = coco.getAnnIds(imgIds=d['id'], catIds=c)
        annotations = coco.loadAnns(annids)
        
        #Merging annotations for a single category
        m = np.zeros(image_size)
        for an in annotations:
            mz = coco.annToMask(an).astype('float')
            m += cv2.resize(mz, image_size)
        mask[:,:,idx+1] = m

    mask = np.argmax(mask, axis=-1)
    mask = np.expand_dims(mask, axis=-1)
    
    return X, mask
In [ ]:
#Let's test it

X, y = read_img(train_images[0], 'train')

plt.style.use('default')
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,5))
ax[0].imshow(X)
ax[1].imshow(y[:,:,0])
ax[0].axis('off')
ax[1].axis('off')
plt.show()

Naive Approach¶

I created this generator that would fetch batches of images from the disk and then will train the tensorflow model. The training time through this generator was 1 hour per epoch because of various steps involved in mask generation.

In [ ]:
"""
This generator will create batches of images to be fed into the tensorflow models
"""

def generate_naive(batch_size, l, mode = 'train'): #l - list of dictionary files
    c = 0

    while(True): #Infinite Generator
        X = np.zeros((batch_size, 224, 224, 3)).astype('float')
        y = np.zeros((batch_size, 224, 224, 26)).astype('float')
        
        for i in range(c, c+batch_size):
            img, mask = read_img(l[i], data=mode)
            
            if img.shape[-1] == 1:
            #If Image is in grayscale, repeat it across channels:
                img = np.repeat([img],3, axis=-1)

            X[i-c] = img
            y[i-c] = tf.keras.utils.to_categorical(mask, 26)
        c += batch_size
        
        if (c + batch_size >= len(l)):
            c = 0
            random.shuffle(l)
        
        yield X, y

#Our Generators
train_generator = generate_naive(32, train_images[:57023], 'train') #Selecting only 57023 images
val_generator = generate_naive(32, val_images, 'val')
In [ ]:
#Testing these
for X, y in train_generator:
    break
print(X.shape)
print(y.shape)
(32, 224, 224, 3)
(32, 224, 224, 26)
In [ ]:
#Let's test it

plt.style.use('default')
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,5))
ax[0].imshow(X[0].astype('uint8')) #Generator converts images to float so that neural network can process it
ax[1].imshow(np.argmax(y[0,:,:], axis=-1).astype('uint8')) #Generator returns one-hot encoded masks, we're converting it back to label to visualize it
ax[0].axis('off')
ax[1].axis('off')
plt.show()

Improvised Approach: Saving batches of Images and Masks as NPY files and then creating a generator to read those files¶

Using this method, I eliminated the time taking steps in mask generation and I could just read the entire batch of images and masks as npy file and pass it on to the tensorflow model. This resulted in a training time of 15 minutes per epoch. I used uint8 format to reduce the disk storage as it takes only one byte per element of the array.

I created a dataset on kaggle after generating these files of batch size 32 and for model building I directly imported from that dataset.

(It's a private dataset that can only be opened via this link) Kaggle dataset link: https://kaggle.com/datasets/c152647705543f7dd00d4d9534cb2f0707aa6ba61e7c8a471e97578079462031

In [ ]:
#Making Folders for storing npy files
!mkdir train
!mkdir train/images
!mkdir train/masks

!mkdir val
!mkdir val/images
!mkdir val/masks
In [ ]:
"""
Creating Numpy Arrays for Training Images
"""

count = 0
gray = 0
channels = 0
output_dir = "train/"
n_batches = 1
c=0
b_size=32

pbar = ProgressBar()

#Create batches of 57023 images - batch size of 32. 
#This means 1782 batches
for image_d in pbar(train_images):
    im, mask = read_img(image_d, 'train')
    
    mask = mask.astype('uint8')
    im = im.astype('uint8')
    
    #Skip the images that are already in grayscale
    if len(im.shape) < 3:
        gray += 1
        continue
        
    if c == 0 and count > 57023:#Break the loop once we've reached our count
        break
    
    count += 1
    
    #Creating array
    if c == 0:
        Z_img = np.zeros((b_size, 224, 224, 3))
        Z_mask = np.zeros((b_size, 224, 224, 1))
    
    #Append into the array
    Z_img[c] = im
    Z_mask[c] = mask
    c+=1
    
    #Save the array once we've filled all batch_size images
    if c == b_size:
        np.save(output_dir+f"img_b_{n_batches}",Z_img.astype('uint8'))
        np.save(output_dir+f"mask_b_{n_batches}",Z_mask.astype('uint8'))
        n_batches += 1
        c=0
        
print('Images Generated: ', count)
print('Grayscale Skip: ', gray)
print('Classes Skip: ', channels)
 60% (57152 of 95037) |##########        | Elapsed Time: 0:48:06 ETA:   0:36:05
Images Generated:  57024
Grayscale Skip:  128
Classes Skip:  0
In [ ]:
"""
Creating Numpy Arrays for Validation Images
"""

count = 0
gray = 0
channels = 0
output_dir = "val/"
n_batches = 1
c=0
b_size=32

pbar = ProgressBar()

for image_d in pbar(val_images):
    im, mask = read_img(image_d, 'val')
    
    mask = mask.astype('uint8')
    im = im.astype('uint8')
    
    #Skip the images that are already in grayscale
    if len(im.shape) < 3:
        gray += 1
        continue
    
    count += 1
    
    #Creating array
    if c == 0:
        Z_img = np.zeros((b_size, 224, 224, 3))
        Z_mask = np.zeros((b_size, 224, 224, 1))
    
    #Append into the array
    Z_img[c] = im
    Z_mask[c] = mask
    c+=1
    
    #Save the array once we've filled all batch_size images
    if c == b_size:
        np.save(output_dir+f"img_b_{n_batches}",Z_img.astype('uint8'))
        np.save(output_dir+f"mask_b_{n_batches}",Z_mask.astype('uint8'))
        n_batches += 1
        c=0

print('Images Generated: ', count)
print('Grayscale Skip: ', gray)
print('Classes Skip: ', channels)
100% (4027 of 4027) |####################| Elapsed Time: 0:03:09 Time:  0:03:09
Images Generated:  4017
Grayscale Skip:  10
Classes Skip:  0
In [ ]:
#Number of Batches
train_batches = 1782
val_batches = 125

def generate_batches(mode='train'):
    
    if mode == 'train':
        limit = train_batches
        directory = "/content/train"
    elif mode == 'val':
        limit = val_batches
        directory = "/content//val"
    
    c = 0
    
    l = list(range(1, limit+1))
    
    random.shuffle(l)#Randomly pick batches
    
    while True: #Infinite Loop
        X = np.load(directory+f"/img_b_{l[c]}.npy")
        y = np.load(directory+f"/mask_b_{l[c]}.npy")
        c += 1
        
        if c == limit:
            c = 0
            random.shuffle(l)
        
        X = X.astype('float32')/255 #Normalize
        y = tf.keras.utils.to_categorical(y, 26)
        
        yield X, y
    
#Our New Generators
train_generator = generate_batches(mode='train')
val_generator = generate_batches(mode='val')
In [ ]:
#Testing the generator

for x, y in train_generator:
    break

#Plotting the first image of the batch
fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,5))

ax[0].imshow(x[0])
ax[0].axis('off')

ax[1].imshow(np.argmax(y[0], axis=-1))
ax[1].axis('off')

plt.show()

Model Building¶

In [ ]:
from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, Activation, ReLU
from tensorflow.keras.layers import BatchNormalization, Conv2DTranspose, Concatenate, Dropout
from tensorflow.keras.models import Model, Sequential

import h5py
!pip install segmentation_models
import segmentation_models as sm
sm.set_framework('tf.keras')
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting segmentation_models
  Downloading segmentation_models-1.0.1-py3-none-any.whl (33 kB)
Collecting image-classifiers==1.0.0
  Downloading image_classifiers-1.0.0-py3-none-any.whl (19 kB)
Collecting keras-applications<=1.0.8,>=1.0.7
  Downloading Keras_Applications-1.0.8-py3-none-any.whl (50 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.7/50.7 KB 5.3 MB/s eta 0:00:00
Collecting efficientnet==1.0.0
  Downloading efficientnet-1.0.0-py3-none-any.whl (17 kB)
Requirement already satisfied: scikit-image in /usr/local/lib/python3.8/dist-packages (from efficientnet==1.0.0->segmentation_models) (0.18.3)
Requirement already satisfied: numpy>=1.9.1 in /usr/local/lib/python3.8/dist-packages (from keras-applications<=1.0.8,>=1.0.7->segmentation_models) (1.21.6)
Requirement already satisfied: h5py in /usr/local/lib/python3.8/dist-packages (from keras-applications<=1.0.8,>=1.0.7->segmentation_models) (3.1.0)
Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (3.0)
Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (1.4.1)
Requirement already satisfied: matplotlib!=3.0.0,>=2.0.0 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (3.2.2)
Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (2023.1.23.1)
Requirement already satisfied: pillow!=7.1.0,!=7.1.1,>=4.3.0 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (7.1.2)
Requirement already satisfied: scipy>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (1.7.3)
Requirement already satisfied: imageio>=2.3.0 in /usr/local/lib/python3.8/dist-packages (from scikit-image->efficientnet==1.0.0->segmentation_models) (2.9.0)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->efficientnet==1.0.0->segmentation_models) (0.11.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->efficientnet==1.0.0->segmentation_models) (3.0.9)
Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->efficientnet==1.0.0->segmentation_models) (2.8.2)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib!=3.0.0,>=2.0.0->scikit-image->efficientnet==1.0.0->segmentation_models) (1.4.4)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.8/dist-packages (from python-dateutil>=2.1->matplotlib!=3.0.0,>=2.0.0->scikit-image->efficientnet==1.0.0->segmentation_models) (1.15.0)
Installing collected packages: keras-applications, image-classifiers, efficientnet, segmentation_models
Successfully installed efficientnet-1.0.0 image-classifiers-1.0.0 keras-applications-1.0.8 segmentation_models-1.0.1
Segmentation Models: using `keras` framework.

Base Model created from scratch¶

For my base model, I picked a U-Net architecture as prof. Nigam mentioned during the class that U-Nets are highly effective at image segmentation.

In [ ]:
"""
Our Base Model
"""

inputs = Input(shape=(224,224,3))

#Block1
b1_conv1 = Conv2D(32, 
              3,   # Kernel size   
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(inputs)
b1_conv2 = Conv2D(32, 
              3,   # Kernel size
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b1_conv1)
b1_bn = BatchNormalization()(b1_conv2, training=False)
b1_dr = Dropout(0.1)(b1_bn)
b1_mp = MaxPooling2D(pool_size = (2,2))(b1_dr)

#Block2
b2_conv1 = Conv2D(64, 
              3,   # Kernel size   
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b1_mp)
b2_conv2 = Conv2D(64, 
              3,   # Kernel size
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b2_conv1)
b2_bn = BatchNormalization()(b2_conv2, training=False)
b2_dr = Dropout(0.1)(b2_bn)
b2_mp = MaxPooling2D(pool_size = (2,2))(b2_dr)

#Block 3
b3_conv1 = Conv2D(128, 
              3,   # Kernel size   
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b2_mp)
b3_conv2 = Conv2D(128, 
              3,   # Kernel size
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b3_conv1)
b3_bn = BatchNormalization()(b3_conv2, training=False)
b3_dr = Dropout(0.1)(b3_bn)
b3_mp = MaxPooling2D(pool_size = (2,2))(b3_dr)

#Block 4
b4_conv1 = Conv2D(256, 
              3,   # Kernel size   
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b3_mp)
b4_conv2 = Conv2D(256, 
              3,   # Kernel size
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b4_conv1)
b4_bn = BatchNormalization()(b4_conv2, training=False)
b4_dr = Dropout(0.3)(b4_bn)
b4_mp = MaxPooling2D(pool_size = (2,2))(b4_dr)

#Block 5
b5_conv1 = Conv2D(512, 
              3,   # Kernel size   
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b4_mp)
b5_conv2 = Conv2D(512, 
              3,   # Kernel size
              activation='relu',
              padding='same',
              kernel_initializer='HeNormal')(b5_conv1)
b5_bn = BatchNormalization()(b5_conv2, training=False)
b5_dr = Dropout(0.3)(b5_bn)

#Decoder blocks - 4

#Block 6
b6_up = Conv2DTranspose(
             256,
             (3,3),    # Kernel size
             strides=(2,2),
             padding='same')(b5_bn)
b6_concat = Concatenate(axis=3)([b6_up, b4_dr])
b6_conv1 = Conv2D(256, 
             3,     # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b6_concat)
b6_conv2 = Conv2D(256,
             3,   # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b6_conv1)

#Block 7
b7_up = Conv2DTranspose(
             128,
             (3,3),    # Kernel size
             strides=(2,2),
             padding='same')(b6_conv2)
b7_concat = Concatenate(axis=3)([b7_up, b3_dr])
b7_conv1 = Conv2D(128, 
             3,     # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b7_concat)
b7_conv2 = Conv2D(128,
             3,   # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b7_conv1)

#Block 8
b8_up = Conv2DTranspose(
             64,
             (3,3),    # Kernel size
             strides=(2,2),
             padding='same')(b7_conv2)
b8_concat = Concatenate(axis=3)([b8_up, b2_dr])
b8_conv1 = Conv2D(64, 
             3,     # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b8_concat)
b8_conv2 = Conv2D(64,
             3,   # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b8_conv1)

#Block 9
b9_up = Conv2DTranspose(
             32,
             (3,3),    # Kernel size
             strides=(2,2),
             padding='same')(b8_conv2)
b9_concat = Concatenate(axis=3)([b9_up, b1_dr])
b9_conv1 = Conv2D(32, 
             3,     # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b9_concat)
b9_conv2 = Conv2D(32,
             3,   # Kernel size
             activation='relu',
             padding='same',
             kernel_initializer='HeNormal')(b9_conv1)

#Final Layers to get to the output

conv10 = Conv2D(32,
             3,
             activation='relu',
             padding='same',
             kernel_initializer='he_normal')(b9_conv2)
conv11 = Conv2D(26, 1, padding='same')(conv10)

base_model = Model(inputs=inputs, outputs=conv11)
In [ ]:
base_model.summary()
Model: "model"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 input_1 (InputLayer)           [(None, 224, 224, 3  0           []                               
                                )]                                                                
                                                                                                  
 conv2d (Conv2D)                (None, 224, 224, 32  896         ['input_1[0][0]']                
                                )                                                                 
                                                                                                  
 conv2d_1 (Conv2D)              (None, 224, 224, 32  9248        ['conv2d[0][0]']                 
                                )                                                                 
                                                                                                  
 batch_normalization (BatchNorm  (None, 224, 224, 32  128        ['conv2d_1[0][0]']               
 alization)                     )                                                                 
                                                                                                  
 dropout (Dropout)              (None, 224, 224, 32  0           ['batch_normalization[0][0]']    
                                )                                                                 
                                                                                                  
 max_pooling2d (MaxPooling2D)   (None, 112, 112, 32  0           ['dropout[0][0]']                
                                )                                                                 
                                                                                                  
 conv2d_2 (Conv2D)              (None, 112, 112, 64  18496       ['max_pooling2d[0][0]']          
                                )                                                                 
                                                                                                  
 conv2d_3 (Conv2D)              (None, 112, 112, 64  36928       ['conv2d_2[0][0]']               
                                )                                                                 
                                                                                                  
 batch_normalization_1 (BatchNo  (None, 112, 112, 64  256        ['conv2d_3[0][0]']               
 rmalization)                   )                                                                 
                                                                                                  
 dropout_1 (Dropout)            (None, 112, 112, 64  0           ['batch_normalization_1[0][0]']  
                                )                                                                 
                                                                                                  
 max_pooling2d_1 (MaxPooling2D)  (None, 56, 56, 64)  0           ['dropout_1[0][0]']              
                                                                                                  
 conv2d_4 (Conv2D)              (None, 56, 56, 128)  73856       ['max_pooling2d_1[0][0]']        
                                                                                                  
 conv2d_5 (Conv2D)              (None, 56, 56, 128)  147584      ['conv2d_4[0][0]']               
                                                                                                  
 batch_normalization_2 (BatchNo  (None, 56, 56, 128)  512        ['conv2d_5[0][0]']               
 rmalization)                                                                                     
                                                                                                  
 dropout_2 (Dropout)            (None, 56, 56, 128)  0           ['batch_normalization_2[0][0]']  
                                                                                                  
 max_pooling2d_2 (MaxPooling2D)  (None, 28, 28, 128)  0          ['dropout_2[0][0]']              
                                                                                                  
 conv2d_6 (Conv2D)              (None, 28, 28, 256)  295168      ['max_pooling2d_2[0][0]']        
                                                                                                  
 conv2d_7 (Conv2D)              (None, 28, 28, 256)  590080      ['conv2d_6[0][0]']               
                                                                                                  
 batch_normalization_3 (BatchNo  (None, 28, 28, 256)  1024       ['conv2d_7[0][0]']               
 rmalization)                                                                                     
                                                                                                  
 dropout_3 (Dropout)            (None, 28, 28, 256)  0           ['batch_normalization_3[0][0]']  
                                                                                                  
 max_pooling2d_3 (MaxPooling2D)  (None, 14, 14, 256)  0          ['dropout_3[0][0]']              
                                                                                                  
 conv2d_8 (Conv2D)              (None, 14, 14, 512)  1180160     ['max_pooling2d_3[0][0]']        
                                                                                                  
 conv2d_9 (Conv2D)              (None, 14, 14, 512)  2359808     ['conv2d_8[0][0]']               
                                                                                                  
 batch_normalization_4 (BatchNo  (None, 14, 14, 512)  2048       ['conv2d_9[0][0]']               
 rmalization)                                                                                     
                                                                                                  
 conv2d_transpose (Conv2DTransp  (None, 28, 28, 256)  1179904    ['batch_normalization_4[0][0]']  
 ose)                                                                                             
                                                                                                  
 concatenate (Concatenate)      (None, 28, 28, 512)  0           ['conv2d_transpose[0][0]',       
                                                                  'dropout_3[0][0]']              
                                                                                                  
 conv2d_10 (Conv2D)             (None, 28, 28, 256)  1179904     ['concatenate[0][0]']            
                                                                                                  
 conv2d_11 (Conv2D)             (None, 28, 28, 256)  590080      ['conv2d_10[0][0]']              
                                                                                                  
 conv2d_transpose_1 (Conv2DTran  (None, 56, 56, 128)  295040     ['conv2d_11[0][0]']              
 spose)                                                                                           
                                                                                                  
 concatenate_1 (Concatenate)    (None, 56, 56, 256)  0           ['conv2d_transpose_1[0][0]',     
                                                                  'dropout_2[0][0]']              
                                                                                                  
 conv2d_12 (Conv2D)             (None, 56, 56, 128)  295040      ['concatenate_1[0][0]']          
                                                                                                  
 conv2d_13 (Conv2D)             (None, 56, 56, 128)  147584      ['conv2d_12[0][0]']              
                                                                                                  
 conv2d_transpose_2 (Conv2DTran  (None, 112, 112, 64  73792      ['conv2d_13[0][0]']              
 spose)                         )                                                                 
                                                                                                  
 concatenate_2 (Concatenate)    (None, 112, 112, 12  0           ['conv2d_transpose_2[0][0]',     
                                8)                                'dropout_1[0][0]']              
                                                                                                  
 conv2d_14 (Conv2D)             (None, 112, 112, 64  73792       ['concatenate_2[0][0]']          
                                )                                                                 
                                                                                                  
 conv2d_15 (Conv2D)             (None, 112, 112, 64  36928       ['conv2d_14[0][0]']              
                                )                                                                 
                                                                                                  
 conv2d_transpose_3 (Conv2DTran  (None, 224, 224, 32  18464      ['conv2d_15[0][0]']              
 spose)                         )                                                                 
                                                                                                  
 concatenate_3 (Concatenate)    (None, 224, 224, 64  0           ['conv2d_transpose_3[0][0]',     
                                )                                 'dropout[0][0]']                
                                                                                                  
 conv2d_16 (Conv2D)             (None, 224, 224, 32  18464       ['concatenate_3[0][0]']          
                                )                                                                 
                                                                                                  
 conv2d_17 (Conv2D)             (None, 224, 224, 32  9248        ['conv2d_16[0][0]']              
                                )                                                                 
                                                                                                  
 conv2d_18 (Conv2D)             (None, 224, 224, 32  9248        ['conv2d_17[0][0]']              
                                )                                                                 
                                                                                                  
 conv2d_19 (Conv2D)             (None, 224, 224, 26  858         ['conv2d_18[0][0]']              
                                )                                                                 
                                                                                                  
==================================================================================================
Total params: 8,644,538
Trainable params: 8,642,554
Non-trainable params: 1,984
__________________________________________________________________________________________________
In [ ]:
#Visualizing the model
tf.keras.utils.plot_model(base_model, show_shapes=True, show_layer_activations=True, show_layer_names=False, rankdir = 'TB')
Out[ ]:
In [ ]:
"""
For this model, we're using a combination of Focal loss and Dice Loss. 
Jaccard Loss didn't perform well, this could be because the dataset is heavily imbalanced. In such cases, Focal Loss works better.
"""

base_model.compile(optimizer='adam',
          loss =  sm.losses.CategoricalFocalLoss() + sm.losses.DiceLoss(),
         metrics=['accuracy', sm.metrics.IOUScore()])
In [ ]:
#Training the model

"""
n_epochs = 30 #I trained it for 30 epochs

history1 = base_model.fit(train_generator, validation_data=val_generator,
                             steps_per_epoch = train_batches,
                             validation_steps = val_batches,
                             epochs=n_epochs,
                             verbose=True
                   )

base_model.save_weights('model-scratch.h5')
pd.DataFrame(history1.history).to_csv('training-scratch.csv')
"""
#We'll load the weights directly for now

!gdown 1ng_qTuCELeUx14_dD9ZVVA-ke5EIoj2c #Model Weights
!gdown 1tL0WPRZziKU_-OcOVSBp91-JQgmsLyO4 #Training csv

base_model.load_weights('model-scratch.h5')
base_train = pd.read_csv('training-scratch.csv')
Downloading...
From: https://drive.google.com/uc?id=1ng_qTuCELeUx14_dD9ZVVA-ke5EIoj2c
To: /content/model-scratch.h5
100% 34.7M/34.7M [00:00<00:00, 91.8MB/s]
Downloading...
From: https://drive.google.com/uc?id=1tL0WPRZziKU_-OcOVSBp91-JQgmsLyO4
To: /content/training-scratch.csv
100% 3.70k/3.70k [00:00<00:00, 4.94MB/s]
In [ ]:
base_train.columns = ['Epoch', 'loss', 'accuracy', 'iou_score', 'val_loss',
       'val_accuracy', 'val_iou_score']
base_train['Epoch'] += 1
In [ ]:
fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(21,7))

ax[0].set_title('Loss Comparison')
ax[0].plot(base_train['loss'], label='Training Loss')
ax[0].plot(base_train['val_loss'], label='Validation Loss')
ax[0].legend()

ax[1].set_title('Accuracy Comparison')
ax[1].plot(base_train['accuracy'], label='Training Accuracy')
ax[1].plot(base_train['val_accuracy'], label='Validation Accuracy')
ax[1].legend()

ax[2].set_title('IoU Comparison')
ax[2].plot(base_train['iou_score'], label='Training IoU')
ax[2].plot(base_train['val_iou_score'], label='Validation IoU')
ax[2].legend()
Out[ ]:
<matplotlib.legend.Legend at 0x7fb24bd216d0>

The training process for this model remained chaotic. This could be because of class imbalance, as we only took some classes, the rest of the classes were labelled as background. It may have trained better if we took all the classes, this was the reason why I used colour images instead of grayscale images. Moreover, image segmentation requires heavy training and due to limited computational resources, I could only train it for 30 epochs.

In [ ]:
#Final Stats

base_train.loc[[0, 4, 9, 14, 24, 29]]
Out[ ]:
Epoch loss accuracy iou_score val_loss val_accuracy val_iou_score
0 1 1.009855 0.006874 0.143798 1.019066 0.006265 0.134707
4 5 1.009681 0.006874 0.143972 1.021507 0.006356 0.132249
9 10 1.009681 0.006874 0.143972 1.020699 0.005860 0.133152
14 15 1.009681 0.006874 0.143972 1.014117 0.006375 0.139634
24 25 1.009681 0.006874 0.143972 1.023326 0.006461 0.130408
29 30 1.009680 0.006874 0.143972 1.024978 0.007323 0.128593

U-Net Model created with Resnet-18 encoder blocks and weights pre-trained on imagenet¶

To make the process easier, I imported this model from segmentation_models library. U-Net with resnet18 backbone had fewer weights than vgg16 and any other backbone, due to this reason I picked resnet18

In [ ]:
model = sm.Unet(backbone_name = 'resnet18',
                                encoder_weights = 'imagenet', #Transfer learning
                                input_shape = (224,224,3),
                                classes=26,
                                activation='softmax')
Downloading data from https://github.com/qubvel/classification_models/releases/download/0.0.1/resnet18_imagenet_1000_no_top.h5
44920640/44920640 [==============================] - 3s 0us/step
In [ ]:
model.summary()
Model: "model_2"
__________________________________________________________________________________________________
 Layer (type)                   Output Shape         Param #     Connected to                     
==================================================================================================
 data (InputLayer)              [(None, 224, 224, 3  0           []                               
                                )]                                                                
                                                                                                  
 bn_data (BatchNormalization)   (None, 224, 224, 3)  9           ['data[0][0]']                   
                                                                                                  
 zero_padding2d (ZeroPadding2D)  (None, 230, 230, 3)  0          ['bn_data[0][0]']                
                                                                                                  
 conv0 (Conv2D)                 (None, 112, 112, 64  9408        ['zero_padding2d[0][0]']         
                                )                                                                 
                                                                                                  
 bn0 (BatchNormalization)       (None, 112, 112, 64  256         ['conv0[0][0]']                  
                                )                                                                 
                                                                                                  
 relu0 (Activation)             (None, 112, 112, 64  0           ['bn0[0][0]']                    
                                )                                                                 
                                                                                                  
 zero_padding2d_1 (ZeroPadding2  (None, 114, 114, 64  0          ['relu0[0][0]']                  
 D)                             )                                                                 
                                                                                                  
 pooling0 (MaxPooling2D)        (None, 56, 56, 64)   0           ['zero_padding2d_1[0][0]']       
                                                                                                  
 stage1_unit1_bn1 (BatchNormali  (None, 56, 56, 64)  256         ['pooling0[0][0]']               
 zation)                                                                                          
                                                                                                  
 stage1_unit1_relu1 (Activation  (None, 56, 56, 64)  0           ['stage1_unit1_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_2 (ZeroPadding2  (None, 58, 58, 64)  0           ['stage1_unit1_relu1[0][0]']     
 D)                                                                                               
                                                                                                  
 stage1_unit1_conv1 (Conv2D)    (None, 56, 56, 64)   36864       ['zero_padding2d_2[0][0]']       
                                                                                                  
 stage1_unit1_bn2 (BatchNormali  (None, 56, 56, 64)  256         ['stage1_unit1_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage1_unit1_relu2 (Activation  (None, 56, 56, 64)  0           ['stage1_unit1_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_3 (ZeroPadding2  (None, 58, 58, 64)  0           ['stage1_unit1_relu2[0][0]']     
 D)                                                                                               
                                                                                                  
 stage1_unit1_conv2 (Conv2D)    (None, 56, 56, 64)   36864       ['zero_padding2d_3[0][0]']       
                                                                                                  
 stage1_unit1_sc (Conv2D)       (None, 56, 56, 64)   4096        ['stage1_unit1_relu1[0][0]']     
                                                                                                  
 add (Add)                      (None, 56, 56, 64)   0           ['stage1_unit1_conv2[0][0]',     
                                                                  'stage1_unit1_sc[0][0]']        
                                                                                                  
 stage1_unit2_bn1 (BatchNormali  (None, 56, 56, 64)  256         ['add[0][0]']                    
 zation)                                                                                          
                                                                                                  
 stage1_unit2_relu1 (Activation  (None, 56, 56, 64)  0           ['stage1_unit2_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_4 (ZeroPadding2  (None, 58, 58, 64)  0           ['stage1_unit2_relu1[0][0]']     
 D)                                                                                               
                                                                                                  
 stage1_unit2_conv1 (Conv2D)    (None, 56, 56, 64)   36864       ['zero_padding2d_4[0][0]']       
                                                                                                  
 stage1_unit2_bn2 (BatchNormali  (None, 56, 56, 64)  256         ['stage1_unit2_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage1_unit2_relu2 (Activation  (None, 56, 56, 64)  0           ['stage1_unit2_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_5 (ZeroPadding2  (None, 58, 58, 64)  0           ['stage1_unit2_relu2[0][0]']     
 D)                                                                                               
                                                                                                  
 stage1_unit2_conv2 (Conv2D)    (None, 56, 56, 64)   36864       ['zero_padding2d_5[0][0]']       
                                                                                                  
 add_1 (Add)                    (None, 56, 56, 64)   0           ['stage1_unit2_conv2[0][0]',     
                                                                  'add[0][0]']                    
                                                                                                  
 stage2_unit1_bn1 (BatchNormali  (None, 56, 56, 64)  256         ['add_1[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage2_unit1_relu1 (Activation  (None, 56, 56, 64)  0           ['stage2_unit1_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_6 (ZeroPadding2  (None, 58, 58, 64)  0           ['stage2_unit1_relu1[0][0]']     
 D)                                                                                               
                                                                                                  
 stage2_unit1_conv1 (Conv2D)    (None, 28, 28, 128)  73728       ['zero_padding2d_6[0][0]']       
                                                                                                  
 stage2_unit1_bn2 (BatchNormali  (None, 28, 28, 128)  512        ['stage2_unit1_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage2_unit1_relu2 (Activation  (None, 28, 28, 128)  0          ['stage2_unit1_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_7 (ZeroPadding2  (None, 30, 30, 128)  0          ['stage2_unit1_relu2[0][0]']     
 D)                                                                                               
                                                                                                  
 stage2_unit1_conv2 (Conv2D)    (None, 28, 28, 128)  147456      ['zero_padding2d_7[0][0]']       
                                                                                                  
 stage2_unit1_sc (Conv2D)       (None, 28, 28, 128)  8192        ['stage2_unit1_relu1[0][0]']     
                                                                                                  
 add_2 (Add)                    (None, 28, 28, 128)  0           ['stage2_unit1_conv2[0][0]',     
                                                                  'stage2_unit1_sc[0][0]']        
                                                                                                  
 stage2_unit2_bn1 (BatchNormali  (None, 28, 28, 128)  512        ['add_2[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage2_unit2_relu1 (Activation  (None, 28, 28, 128)  0          ['stage2_unit2_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_8 (ZeroPadding2  (None, 30, 30, 128)  0          ['stage2_unit2_relu1[0][0]']     
 D)                                                                                               
                                                                                                  
 stage2_unit2_conv1 (Conv2D)    (None, 28, 28, 128)  147456      ['zero_padding2d_8[0][0]']       
                                                                                                  
 stage2_unit2_bn2 (BatchNormali  (None, 28, 28, 128)  512        ['stage2_unit2_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage2_unit2_relu2 (Activation  (None, 28, 28, 128)  0          ['stage2_unit2_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_9 (ZeroPadding2  (None, 30, 30, 128)  0          ['stage2_unit2_relu2[0][0]']     
 D)                                                                                               
                                                                                                  
 stage2_unit2_conv2 (Conv2D)    (None, 28, 28, 128)  147456      ['zero_padding2d_9[0][0]']       
                                                                                                  
 add_3 (Add)                    (None, 28, 28, 128)  0           ['stage2_unit2_conv2[0][0]',     
                                                                  'add_2[0][0]']                  
                                                                                                  
 stage3_unit1_bn1 (BatchNormali  (None, 28, 28, 128)  512        ['add_3[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage3_unit1_relu1 (Activation  (None, 28, 28, 128)  0          ['stage3_unit1_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_10 (ZeroPadding  (None, 30, 30, 128)  0          ['stage3_unit1_relu1[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage3_unit1_conv1 (Conv2D)    (None, 14, 14, 256)  294912      ['zero_padding2d_10[0][0]']      
                                                                                                  
 stage3_unit1_bn2 (BatchNormali  (None, 14, 14, 256)  1024       ['stage3_unit1_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage3_unit1_relu2 (Activation  (None, 14, 14, 256)  0          ['stage3_unit1_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_11 (ZeroPadding  (None, 16, 16, 256)  0          ['stage3_unit1_relu2[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage3_unit1_conv2 (Conv2D)    (None, 14, 14, 256)  589824      ['zero_padding2d_11[0][0]']      
                                                                                                  
 stage3_unit1_sc (Conv2D)       (None, 14, 14, 256)  32768       ['stage3_unit1_relu1[0][0]']     
                                                                                                  
 add_4 (Add)                    (None, 14, 14, 256)  0           ['stage3_unit1_conv2[0][0]',     
                                                                  'stage3_unit1_sc[0][0]']        
                                                                                                  
 stage3_unit2_bn1 (BatchNormali  (None, 14, 14, 256)  1024       ['add_4[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage3_unit2_relu1 (Activation  (None, 14, 14, 256)  0          ['stage3_unit2_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_12 (ZeroPadding  (None, 16, 16, 256)  0          ['stage3_unit2_relu1[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage3_unit2_conv1 (Conv2D)    (None, 14, 14, 256)  589824      ['zero_padding2d_12[0][0]']      
                                                                                                  
 stage3_unit2_bn2 (BatchNormali  (None, 14, 14, 256)  1024       ['stage3_unit2_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage3_unit2_relu2 (Activation  (None, 14, 14, 256)  0          ['stage3_unit2_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_13 (ZeroPadding  (None, 16, 16, 256)  0          ['stage3_unit2_relu2[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage3_unit2_conv2 (Conv2D)    (None, 14, 14, 256)  589824      ['zero_padding2d_13[0][0]']      
                                                                                                  
 add_5 (Add)                    (None, 14, 14, 256)  0           ['stage3_unit2_conv2[0][0]',     
                                                                  'add_4[0][0]']                  
                                                                                                  
 stage4_unit1_bn1 (BatchNormali  (None, 14, 14, 256)  1024       ['add_5[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage4_unit1_relu1 (Activation  (None, 14, 14, 256)  0          ['stage4_unit1_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_14 (ZeroPadding  (None, 16, 16, 256)  0          ['stage4_unit1_relu1[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage4_unit1_conv1 (Conv2D)    (None, 7, 7, 512)    1179648     ['zero_padding2d_14[0][0]']      
                                                                                                  
 stage4_unit1_bn2 (BatchNormali  (None, 7, 7, 512)   2048        ['stage4_unit1_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage4_unit1_relu2 (Activation  (None, 7, 7, 512)   0           ['stage4_unit1_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_15 (ZeroPadding  (None, 9, 9, 512)   0           ['stage4_unit1_relu2[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage4_unit1_conv2 (Conv2D)    (None, 7, 7, 512)    2359296     ['zero_padding2d_15[0][0]']      
                                                                                                  
 stage4_unit1_sc (Conv2D)       (None, 7, 7, 512)    131072      ['stage4_unit1_relu1[0][0]']     
                                                                                                  
 add_6 (Add)                    (None, 7, 7, 512)    0           ['stage4_unit1_conv2[0][0]',     
                                                                  'stage4_unit1_sc[0][0]']        
                                                                                                  
 stage4_unit2_bn1 (BatchNormali  (None, 7, 7, 512)   2048        ['add_6[0][0]']                  
 zation)                                                                                          
                                                                                                  
 stage4_unit2_relu1 (Activation  (None, 7, 7, 512)   0           ['stage4_unit2_bn1[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_16 (ZeroPadding  (None, 9, 9, 512)   0           ['stage4_unit2_relu1[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage4_unit2_conv1 (Conv2D)    (None, 7, 7, 512)    2359296     ['zero_padding2d_16[0][0]']      
                                                                                                  
 stage4_unit2_bn2 (BatchNormali  (None, 7, 7, 512)   2048        ['stage4_unit2_conv1[0][0]']     
 zation)                                                                                          
                                                                                                  
 stage4_unit2_relu2 (Activation  (None, 7, 7, 512)   0           ['stage4_unit2_bn2[0][0]']       
 )                                                                                                
                                                                                                  
 zero_padding2d_17 (ZeroPadding  (None, 9, 9, 512)   0           ['stage4_unit2_relu2[0][0]']     
 2D)                                                                                              
                                                                                                  
 stage4_unit2_conv2 (Conv2D)    (None, 7, 7, 512)    2359296     ['zero_padding2d_17[0][0]']      
                                                                                                  
 add_7 (Add)                    (None, 7, 7, 512)    0           ['stage4_unit2_conv2[0][0]',     
                                                                  'add_6[0][0]']                  
                                                                                                  
 bn1 (BatchNormalization)       (None, 7, 7, 512)    2048        ['add_7[0][0]']                  
                                                                                                  
 relu1 (Activation)             (None, 7, 7, 512)    0           ['bn1[0][0]']                    
                                                                                                  
 decoder_stage0_upsampling (UpS  (None, 14, 14, 512)  0          ['relu1[0][0]']                  
 ampling2D)                                                                                       
                                                                                                  
 decoder_stage0_concat (Concate  (None, 14, 14, 768)  0          ['decoder_stage0_upsampling[0][0]
 nate)                                                           ',                               
                                                                  'stage4_unit1_relu1[0][0]']     
                                                                                                  
 decoder_stage0a_conv (Conv2D)  (None, 14, 14, 256)  1769472     ['decoder_stage0_concat[0][0]']  
                                                                                                  
 decoder_stage0a_bn (BatchNorma  (None, 14, 14, 256)  1024       ['decoder_stage0a_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage0a_relu (Activati  (None, 14, 14, 256)  0          ['decoder_stage0a_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage0b_conv (Conv2D)  (None, 14, 14, 256)  589824      ['decoder_stage0a_relu[0][0]']   
                                                                                                  
 decoder_stage0b_bn (BatchNorma  (None, 14, 14, 256)  1024       ['decoder_stage0b_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage0b_relu (Activati  (None, 14, 14, 256)  0          ['decoder_stage0b_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage1_upsampling (UpS  (None, 28, 28, 256)  0          ['decoder_stage0b_relu[0][0]']   
 ampling2D)                                                                                       
                                                                                                  
 decoder_stage1_concat (Concate  (None, 28, 28, 384)  0          ['decoder_stage1_upsampling[0][0]
 nate)                                                           ',                               
                                                                  'stage3_unit1_relu1[0][0]']     
                                                                                                  
 decoder_stage1a_conv (Conv2D)  (None, 28, 28, 128)  442368      ['decoder_stage1_concat[0][0]']  
                                                                                                  
 decoder_stage1a_bn (BatchNorma  (None, 28, 28, 128)  512        ['decoder_stage1a_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage1a_relu (Activati  (None, 28, 28, 128)  0          ['decoder_stage1a_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage1b_conv (Conv2D)  (None, 28, 28, 128)  147456      ['decoder_stage1a_relu[0][0]']   
                                                                                                  
 decoder_stage1b_bn (BatchNorma  (None, 28, 28, 128)  512        ['decoder_stage1b_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage1b_relu (Activati  (None, 28, 28, 128)  0          ['decoder_stage1b_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage2_upsampling (UpS  (None, 56, 56, 128)  0          ['decoder_stage1b_relu[0][0]']   
 ampling2D)                                                                                       
                                                                                                  
 decoder_stage2_concat (Concate  (None, 56, 56, 192)  0          ['decoder_stage2_upsampling[0][0]
 nate)                                                           ',                               
                                                                  'stage2_unit1_relu1[0][0]']     
                                                                                                  
 decoder_stage2a_conv (Conv2D)  (None, 56, 56, 64)   110592      ['decoder_stage2_concat[0][0]']  
                                                                                                  
 decoder_stage2a_bn (BatchNorma  (None, 56, 56, 64)  256         ['decoder_stage2a_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage2a_relu (Activati  (None, 56, 56, 64)  0           ['decoder_stage2a_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage2b_conv (Conv2D)  (None, 56, 56, 64)   36864       ['decoder_stage2a_relu[0][0]']   
                                                                                                  
 decoder_stage2b_bn (BatchNorma  (None, 56, 56, 64)  256         ['decoder_stage2b_conv[0][0]']   
 lization)                                                                                        
                                                                                                  
 decoder_stage2b_relu (Activati  (None, 56, 56, 64)  0           ['decoder_stage2b_bn[0][0]']     
 on)                                                                                              
                                                                                                  
 decoder_stage3_upsampling (UpS  (None, 112, 112, 64  0          ['decoder_stage2b_relu[0][0]']   
 ampling2D)                     )                                                                 
                                                                                                  
 decoder_stage3_concat (Concate  (None, 112, 112, 12  0          ['decoder_stage3_upsampling[0][0]
 nate)                          8)                               ',                               
                                                                  'relu0[0][0]']                  
                                                                                                  
 decoder_stage3a_conv (Conv2D)  (None, 112, 112, 32  36864       ['decoder_stage3_concat[0][0]']  
                                )                                                                 
                                                                                                  
 decoder_stage3a_bn (BatchNorma  (None, 112, 112, 32  128        ['decoder_stage3a_conv[0][0]']   
 lization)                      )                                                                 
                                                                                                  
 decoder_stage3a_relu (Activati  (None, 112, 112, 32  0          ['decoder_stage3a_bn[0][0]']     
 on)                            )                                                                 
                                                                                                  
 decoder_stage3b_conv (Conv2D)  (None, 112, 112, 32  9216        ['decoder_stage3a_relu[0][0]']   
                                )                                                                 
                                                                                                  
 decoder_stage3b_bn (BatchNorma  (None, 112, 112, 32  128        ['decoder_stage3b_conv[0][0]']   
 lization)                      )                                                                 
                                                                                                  
 decoder_stage3b_relu (Activati  (None, 112, 112, 32  0          ['decoder_stage3b_bn[0][0]']     
 on)                            )                                                                 
                                                                                                  
 decoder_stage4_upsampling (UpS  (None, 224, 224, 32  0          ['decoder_stage3b_relu[0][0]']   
 ampling2D)                     )                                                                 
                                                                                                  
 decoder_stage4a_conv (Conv2D)  (None, 224, 224, 16  4608        ['decoder_stage4_upsampling[0][0]
                                )                                ']                               
                                                                                                  
 decoder_stage4a_bn (BatchNorma  (None, 224, 224, 16  64         ['decoder_stage4a_conv[0][0]']   
 lization)                      )                                                                 
                                                                                                  
 decoder_stage4a_relu (Activati  (None, 224, 224, 16  0          ['decoder_stage4a_bn[0][0]']     
 on)                            )                                                                 
                                                                                                  
 decoder_stage4b_conv (Conv2D)  (None, 224, 224, 16  2304        ['decoder_stage4a_relu[0][0]']   
                                )                                                                 
                                                                                                  
 decoder_stage4b_bn (BatchNorma  (None, 224, 224, 16  64         ['decoder_stage4b_conv[0][0]']   
 lization)                      )                                                                 
                                                                                                  
 decoder_stage4b_relu (Activati  (None, 224, 224, 16  0          ['decoder_stage4b_bn[0][0]']     
 on)                            )                                                                 
                                                                                                  
 final_conv (Conv2D)            (None, 224, 224, 26  3770        ['decoder_stage4b_relu[0][0]']   
                                )                                                                 
                                                                                                  
 softmax (Activation)           (None, 224, 224, 26  0           ['final_conv[0][0]']             
                                )                                                                 
                                                                                                  
==================================================================================================
Total params: 14,344,195
Trainable params: 14,334,269
Non-trainable params: 9,926
__________________________________________________________________________________________________
In [ ]:
tf.keras.utils.plot_model(model, show_shapes=True, show_layer_activations=True, show_layer_names=False, rankdir = 'TB')
Out[ ]:
In [ ]:
"""
In this case, the weights of the encoder are pre-trained to extract features from images, we eventually want to minimize our IoU so we're using Jaccard Loss and Focal Loss here
"""

model.compile(optimizer='adam',
          loss = sm.losses.JaccardLoss() + sm.losses.CategoricalFocalLoss(), 
         metrics=['accuracy', sm.metrics.IOUScore()])
In [ ]:
#Training the model

"""
n_epochs = 40 #I trained this for 40 epochs

history2 = model.fit(train_generator, validation_data=val_generator,
                             steps_per_epoch = train_batches,
                             validation_steps = val_batches,
                             epochs=n_epochs,
                             verbose=True
                   )
model.save_weights('sm Model.h5')
pd.DataFrame(history1.history).to_csv('Training_Track.csv')
"""
#We'll load the weights directly for now

!gdown "1YU5oBBk2z_nFxH4dgxiPiDNtNiYI5oml&confirm=t" #Weights at Epochs 1, 5, 10, 15, 20
!unzip weights.zip

!gdown 1vv0GJhvXT5RAvH-Fw_AEXyldyqX2eP1H #Model Weights - Final Epoch 40
!gdown 1H62K104Os_2PddFueOHfoh-G2ngnSM-k #Training csv

# model.load_weights('model-sm.h5')
model_train = pd.read_csv('training-sm.csv')
Downloading...
From: https://drive.google.com/uc?id=1YU5oBBk2z_nFxH4dgxiPiDNtNiYI5oml&confirm=t
To: /content/weights.zip
100% 781M/781M [00:03<00:00, 241MB/s]
Archive:  weights.zip
  inflating: 15.h5                   
  inflating: 01.h5                   
  inflating: 05.h5                   
  inflating: 10.h5                   
  inflating: 20.h5                   
Downloading...
From: https://drive.google.com/uc?id=1vv0GJhvXT5RAvH-Fw_AEXyldyqX2eP1H
To: /content/model-sm.h5
100% 57.6M/57.6M [00:00<00:00, 152MB/s]
Downloading...
From: https://drive.google.com/uc?id=1H62K104Os_2PddFueOHfoh-G2ngnSM-k
To: /content/training-sm.csv
100% 4.75k/4.75k [00:00<00:00, 5.63MB/s]
In [ ]:
model_train.columns = ['Epoch', 'loss', 'accuracy', 'iou_score', 'val_loss',
       'val_accuracy', 'val_iou_score']
model_train['Epoch'] += 1
In [ ]:
fig, ax = plt.subplots(nrows=1, ncols=3, figsize=(21,7))

ax[0].set_title('Loss Comparison')
ax[0].plot(model_train['loss'], label='Training Loss')
ax[0].plot(model_train['val_loss'], label='Validation Loss')
ax[0].legend()

ax[1].set_title('Accuracy Comparison')
ax[1].plot(model_train['accuracy'], label='Training Accuracy')
ax[1].plot(model_train['val_accuracy'], label='Validation Accuracy')
ax[1].legend()

ax[2].set_title('IoU Comparison')
ax[2].plot(model_train['iou_score'], label='Training IoU')
ax[2].plot(model_train['val_iou_score'], label='Validation IoU')
ax[2].legend()

plt.show()

The training process for this model looks much more smoother. Encoder weights(resnet18) were pretrained to extract some features and that transfer learning helped our model to adapt to our dataset.

In [ ]:
#Final Stats

model_train.loc[[0, 4, 9, 14, 24, 29]]
Out[ ]:
Epoch loss accuracy iou_score val_loss val_accuracy val_iou_score
0 1 0.938179 0.754470 0.072151 0.976963 0.542306 0.055780
4 5 0.849834 0.797097 0.161371 0.868782 0.788480 0.143924
9 10 0.789044 0.823163 0.221626 0.839274 0.791056 0.174357
14 15 0.747792 0.842561 0.262243 0.802643 0.829767 0.208701
24 25 0.688392 0.870843 0.320531 0.807633 0.832871 0.204413
29 30 0.664571 0.880680 0.343923 0.798935 0.846015 0.212916

Generating images¶

In [ ]:
np.random.seed(42)
In [ ]:
def plot_images(d, mode):
    X, y = read_img(d, mode)
    
    if len(X.shape) < 3:
        X = np.expand_dims(X, axis=-1)
        X = np.repeat([X], 3, -1)
        X = X[0]

    X = np.expand_dims(X, 0)/255 #Normalize the Image
    y = y[:,:,0]

    fig, ax = plt.subplots(nrows=1, ncols=8, figsize=(40,5))
    ax[0].imshow(X[0])
    ax[0].set_title('Image')
    ax[0].axis('off')
    ax[1].imshow(y)
    ax[1].set_title('Real')
    ax[1].axis('off')

    c = 2
    for i in ["01.h5", "05.h5", "10.h5", "15.h5", "20.h5", "model-sm.h5"]:
        model.load_weights(i)
        y_pred = model(X)
        y_pred = np.argmax(y_pred, axis=-1)[0]
        ax[c].imshow(y_pred)
        if i == "model-sm.h5":
            ax[c].set_title("Epoch 40")
        else:
            ax[c].set_title("Epoch "+i[:2])
        ax[c].axis('off')
        c+=1
    plt.show()
In [ ]:
train_img_dicts = np.random.choice(train_images, size=10, replace=False)
val_img_dicts = np.random.choice(val_images, size=10, replace=False)
In [ ]:
#Training images
for img_dicts in train_img_dicts:
    plot_images(img_dicts, 'train')
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
In [ ]:
#Validation images
for img_dicts in val_img_dicts:
    plot_images(img_dicts, 'val')
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
(1, 224, 224, 3)
In [ ]:
#For mentioning Objects
classes = ['background']+classes
In [ ]:
#Randomly selecting Test Images
import os
test_files = os.listdir("/content/test2017")
test_img_ids = np.random.choice(test_files, size=10, replace=False)
In [ ]:
model.load_weights("10.h5")

for img_id in test_img_ids:
    img = io.imread("/content/test2017/"+img_id)
    img = cv2.resize(img, (224,224)) / 255

    #Fetching Predictions
    img = np.expand_dims(img, 0)

    fig, ax = plt.subplots(nrows=1, ncols=2, figsize=(10,5))

    ax[0].imshow(img[0])
    ax[0].set_title('Image')
    ax[0].axis('off')

    y_pred = model(img)
    y_pred = np.argmax(y_pred, axis=-1)[0]
    ax[1].imshow(y_pred)
    ax[1].set_title("Predicted Mask")
    ax[1].axis('off')
    plt.show()
    print("Unique Values in the above Mask: ", np.unique(y_pred))
    print("Objects in the above Mask: ", [classes[x] for x in np.unique(y_pred)])
    print("\n\n")
Unique Values in the above Mask:  [ 0  1 17]
Objects in the above Mask:  ['background', 'person', 'chair']



Unique Values in the above Mask:  [0]
Objects in the above Mask:  ['background']



Unique Values in the above Mask:  [0]
Objects in the above Mask:  ['background']



Unique Values in the above Mask:  [ 0 16 17 20 23]
Objects in the above Mask:  ['background', 'bowl', 'chair', 'dining table', 'sink']



Unique Values in the above Mask:  [0 1]
Objects in the above Mask:  ['background', 'person']



Unique Values in the above Mask:  [0 1 9]
Objects in the above Mask:  ['background', 'person', 'backpack']



Unique Values in the above Mask:  [0 2]
Objects in the above Mask:  ['background', 'car']



Unique Values in the above Mask:  [0 1]
Objects in the above Mask:  ['background', 'person']



Unique Values in the above Mask:  [ 0  1  7 16 20]
Objects in the above Mask:  ['background', 'person', 'cat', 'bowl', 'dining table']



Unique Values in the above Mask:  [0]
Objects in the above Mask:  ['background']